Telepresence on Rancher

 

As of 12/19/2024 All newly created Rancher Folio environments have telepresence installed by default, thus every development team can remotely connect via IDE and debug all things.

P\S if your env was created before the date above, to enable telepresence, environment MUST BE re-created.

 

How to install required tools:

telepresence: Link

AWS CLI: Link

kubectl: Link

Once env build\rebuild activity is done, please go to your team’s namespace\project on Rancher UI → Storage → ConfigMaps → telepresence-{{YourTeamName}}

image-20241219-120739.png

Click on configMap and copy keyId and secretKey (it will be required later on)

if all of 3 prerequisite tools installed, please proceed with the following configurations:

AWS CLI:

  • command to execute: aws configure

  • paste previously copied keyId into in AWS Access Key ID prompt

  • paste previously copied secretKey into in AWS Secret Access Key prompt

  • type us-west-2 in Default region name prompt

  • type json in Default output format prompt

 

image-20241219-121121.png

kubectl:

  • Command to execute: aws eks update-kubeconfig --region us-west-2 --name {{clusterName}} depending on there your environment has been deployed, that value should be placed in {{clusterName}} placeholder, in our case it’s folio-edev

    once everything is on the place, connect your local telepresence to Rancher environment:

  • Command to execute:

telepresence connect --namespace {{envName}} --manager-namespace {{envName}}

envName in most of the cases is equal to your team name: eureka, thunderjet, spitfire etc.

In case of shared environment, simply type env name i.e. snapshot, sprint and so on.

if everything went OK, you’ll see something as below

Once your task is complete and interception no longer needed, please execute:

  • telepresence leave {{InterceptedSvcName}}

  • telepresence quit -s

If telepresence is failing to connect, please find all telepresence active\running process(es) on your system and stop them, then try to connect.

How to find active\running process(es) and terminate them:

  • Windows OS → use Task Manager (ctrl + shift + esc)

  • Linux | MacOS → in shell: sudo kill $(ps aux | grep 'telepresence' | awk '{print $2}')

try to connect again.