какой пароль 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