какой пароль root телеприсутствия в удаленной отладке Kubernetes

Я использую телеприсутствие для удаленной отладки кластера Kubernetes, и я вхожу в кластер с помощью команды:

telepresence

но когда я хочу установить какое-то программное обеспечение в модуле телеприсутствия:

sudo apt-get install wget

и я не знал пароль модуля телеприсутствия, что мне делать, чтобы установить программное обеспечение?

1 ответ

Решение

Вы можете использовать этот скрипт для входа в модуль как root:

#!/usr/bin/env bash
set -xe

POD=$(kubectl describe pod "$1")
NODE=$(echo "$POD" | grep -m1 Node | awk -F'/' '{print $2}')
CONTAINER=$(echo "$POD" | grep -m1 'Container ID' | awk -F 'docker://' '{print $2}')

CONTAINER_SHELL=${2:-bash}

set +e

ssh -t "$NODE" sudo docker exec --user 0 -it "$CONTAINER" "$CONTAINER_SHELL"

if [ "$?" -gt 0 ]; then
  set +x
  echo 'SSH into pod failed. If you see an error message similar to "executable file not found in $PATH", please try:'
  echo "$0 $1 sh"
fi

авторизуйтесь так:

./login-k8s-pod.sh flink-taskmanager-54d85f57c7-wd2nb
Другие вопросы по тегам