10-configuring-kubectl

Dante·2024년 6월 2일
0

kubernetes-hard-way

목록 보기
11/13

Configuring kubectl for Remote Access


이번 랩에서는 admin 자격 증명 기반으로 kubectl 명령어에 대한 kubeconfig 파일을 생성합니다.

해당 작업은 jumpbox 서버에서 수행합니다.

The Admin Kubernetes Configuration File


각 kubeconfig는 연결할 Kubernetes API Server가 필요합니다.

이전 랩에서 작업한 /etc/hosts DNS 엔트리 항목을 기반으로 controlplane-1.kubernetes.local 과 통신이 되어야 합니다.

curl -k --cacert ca.crt \
  https://controlplane-1.kubernetes.local:6443/version
{
  "major": "1",
  "minor": "30",
  "gitVersion": "v1.30.1",
  "gitCommit": "6911225c3f747e1cd9d109c305436d08b668f086",
  "gitTreeState": "clean",
  "buildDate": "2024-05-14T10:42:02Z",
  "goVersion": "go1.22.2",
  "compiler": "gc",
  "platform": "linux/amd64"
}

admin 으로 인증하는데 필요한 kubeconfig 파일을 생성합니다.

{
  kubectl config set-cluster kubernetes-the-hard-way \
    --certificate-authority=/k8s-hardway/tls/ca.crt \
    --embed-certs=true \
    --server=https://controlplane-1.kubernetes.local:6443

  kubectl config set-credentials admin \
    --client-certificate=/k8s-hardway/tls/admin.crt \
    --client-key=/k8s-hardway/tls/admin.key

  kubectl config set-context kubernetes-the-hard-way \
    --cluster=kubernetes-the-hard-way \
    --user=admin

  kubectl config use-context kubernetes-the-hard-way
}

위 명령어를 실행하면, kubectl 명령줄 도구에서 사용하는 기본 위치인 ~/.kube/config 에 kubeconfig 파일이 생성 됩니다. 해당 작업을 하면 다른 설정을 안해도 kubectl명령을 실행할 수 있습니다.

Verification


Kubernetes Cluster 버전을 확인합니다.

kubectl version
Client Version: v1.30.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.30.1

Kubernetes Cluster에 있는 노드들을 확인합니다.

kubectl get nodes
NAME     STATUS   ROLES    AGE   VERSION
node-1   Ready    <none>   12m   v1.30.1
node-2   Ready    <none>   10m   v1.30.1

Next: Provisioning Pod Network Routes

profile
it's me.

0개의 댓글

관련 채용 정보