
디버깅하려는 GKE Kubernetes 클러스터가 있습니다.
전체 권한으로 이미지 및 SSH를 사용하여 클러스터 내부의 컨테이너를 시작할 수 있습니까 ? 그러면 내부에 소프트웨어를 설치 하고 다양한 디버깅 명령을 실행할 ubuntu
수 있습니까 ?apt
답변1
우선, 네임스페이스나 노드를 대상 pod
으로 하는 단일 컨테이너로 배포하는 것이 가능합니다.ubuntu
LoadBalancer
SSH를 사용하여 연결하는 대신(을 사용하거나 노출하는 광범위한 조합을 사용하여 가능 NodePort
) 도구를 사용하는 것이 더 쉽습니다 kubectl
.
사용 중인 경우 Cloud Shell
이미 설치되어 있거나 로컬 랩톱을 사용하는 경우 도구를 사용하여 설치해야 합니다 gcloud
.
다음 구문을 사용하여 컨테이너에 직접 연결하는 것이 좋습니다.
# Run bash on Ubuntu container
kubectl exec -it ubuntu -- bash
# General syntax
kubectl -n {namespace} exec -it {pod-name} -- {command}
첫 번째 명령은 컨테이너 이름이 ubuntu
현재 네임스페이스에 있다고 가정합니다. 두 번째 명령은 일반적인 형식을 제공합니다.
ubuntu
포드 정의 예시 :
apiVersion: v1
kind: Pod
metadata:
name: ubuntu
labels:
app: ubuntu
spec:
containers:
- image: ubuntu
command:
- "sleep"
- "604800"
imagePullPolicy: IfNotPresent
name: ubuntu
restartPolicy: Always
신청하기 전에 를 추가하거나 namespace
올바른 컨텍스트가 있는지 확인할 수 있습니다. 다음과 같은 것 :
kubectl apply -f path/to/yaml/file