
Tenho um cluster do GKE Kubernetes que gostaria de depurar.
É possível iniciar um contêiner dentro do cluster usando, por exemplo, ubuntu
imagem e SSH com privilégios totais, para que eu possa instalar software dentro dele apt
e executar vários comandos de depuração?
Responder1
Primeiro de tudo, é possível implantar um pod
contêiner único que consiste em ubuntu
direcionar um namespace ou até mesmo um nó.
Em vez de usar SSH para conectar-se a ele (o que é possível usando uma ampla combinação de uso LoadBalancer
ou exposição de a NodePort
), é mais fácil usar a kubectl
ferramenta.
Se você estiver usando Cloud Shell
ele já instalado ou se estiver usando um laptop local, será necessário instalá-lo usando a gcloud
ferramenta.
Eu sugeriria conectar-se diretamente ao contêiner usando a seguinte sintaxe:
# Run bash on Ubuntu container
kubectl exec -it ubuntu -- bash
# General syntax
kubectl -n {namespace} exec -it {pod-name} -- {command}
O primeiro comando assume que o nome do contêiner está ubuntu
e no namespace atual. O segundo comando fornece o formato geral.
Exemplo ubuntu
de definição de pod:
apiVersion: v1
kind: Pod
metadata:
name: ubuntu
labels:
app: ubuntu
spec:
containers:
- image: ubuntu
command:
- "sleep"
- "604800"
imagePullPolicy: IfNotPresent
name: ubuntu
restartPolicy: Always
Você pode adicionar um namespace
ou garantir que tenha o contexto correto antes de se inscrever. Algo como:
kubectl apply -f path/to/yaml/file