GKE Kubernetes 클러스터에 SSH를 통해 연결하시겠습니까?

GKE Kubernetes 클러스터에 SSH를 통해 연결하시겠습니까?

디버깅하려는 GKE Kubernetes 클러스터가 있습니다.

전체 권한으로 이미지 및 SSH를 사용하여 클러스터 내부의 컨테이너를 시작할 수 있습니까 ? 그러면 내부에 소프트웨어를 설치 하고 다양한 디버깅 명령을 실행할 ubuntu수 있습니까 ?apt

답변1

우선, 네임스페이스나 노드를 대상 pod으로 하는 단일 컨테이너로 배포하는 것이 가능합니다.ubuntu

LoadBalancerSSH를 사용하여 연결하는 대신(을 사용하거나 노출하는 광범위한 조합을 사용하여 가능 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

관련 정보