블록체인
블록체인

kubectl 명령어

목차

kubectl get

Pod, Node, Namespace 등 오브젝트 조회

kubectl get [po/ns/node/deployment/replicaset/daemonset/events/endpoints/ingress/pv/pvc/serviceaccounts]

# Pod 확인 [root@m-k8s log]# kubectl get po NAME READY STATUS RESTARTS AGE chk-hn-7c4c768876-htrcq 1/1 Running 0 4s chk-hn-7c4c768876-lg294 1/1 Running 0 4s chk-hn-7c4c768876-x6s9t 1/1 Running 0 70s dnsutils 1/1 Running 0 2d5h nginx-deploy-864bcf4b95-7vflx 1/1 Running 0 111s nginx-deploy-864bcf4b95-q44g8 1/1 Running 0 24s nginx-deploy-864bcf4b95-s82qh 1/1 Running 0 24s # Namespace 확인 [root@m-k8s log]# kubectl get namespace NAME STATUS AGE default Active 5d10h kube-node-lease Active 5d10h kube-public Active 5d10h kube-system Active 5d10h # Node 확인 [root@m-k8s 1.6]# kubectl get node NAME STATUS ROLES AGE VERSION m-k8s Ready control-plane,master 7m41s v1.20.2 # Replicaset 확인 [root@m-k8s ~]# k get replicasets.apps NAME DESIRED CURRENT READY AGE rs-nginx 3 3 3 30s # Deployment 확인 [root@m-k8s ~]# k get deployments.apps NAME READY UP-TO-DATE AVAILABLE AGE deploy-nginx 3/3 3 3 33s # 모든 네임스페이스의 Daemonset 확인 [root@m-k8s ~]# k get daemonsets.apps -A NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE default ds-nginx 3 3 3 3 3 <none> 118s kube-system calico-node 4 4 4 4 4 kubernetes.io/os=linux 6d16h kube-system kube-proxy 4 4 4 4 4 kubernetes.io/os=linux 6d16h metallb-system speaker 4 4 4 4 4 kubernetes.io/os=linux 6d16h # 네임스페이스 단위로 이벤트 확인 [root@m-k8s ~]# kubectl get events LAST SEEN TYPE REASON OBJECT MESSAGE 26m Normal Starting node/m-k8s Starting kubelet. 26m Normal NodeHasSufficientMemory node/m-k8s Node m-k8s status is now: NodeHasSufficientMemory # PV 확인 [root@m-k8s 5.5]# k get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pv-nfs 100Mi RWX Retain Available 24s # PVC 확인 [root@m-k8s 5.5]# k get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-nfs Bound pv-nfs 100Mi RWX
Shell
복사

kubectl get po -o wide

# -o wide 옵션으로 해당하는 네임스페이스 내 모든 파드의 상세 목록 조회
Shell
복사

kubectl get [pod/events] -n -kube-system

# -n 옵션으로 해당하는 네임스페이스에 대한 이벤트 확인 [root@m-k8s ~]# kubectl get events -n kube-system LAST SEEN TYPE REASON OBJECT MESSAGE 27m Normal SandboxChanged pod/calico-kube-controllers-57c5b6487c-htdqd Pod sandbox changed, it will be killed and re-created. 27m Normal Pulled pod/calico-kube-controllers-57c5b6487c-htdqd Container image "docker.io/calico/kube-controllers:v3.17.1" already present on machine 27m Normal Created pod/calico-kube-controllers-57c5b6487c-htdqd Created container calico-kube-controllers 27m Normal Started pod/calico-kube-controllers-57c5b6487c-htdqd Started container calico-kube-controllers 27m Normal SandboxChanged pod/calico-node-9tn2x
Shell
복사

kubectl get [po/deploy/]node [name] -o yaml

# -o yaml 옵션으로 pod 상세 내용 조회 [root@m-k8s ~]# kubectl get po nginx -o yaml apiVersion: v1 kind: Pod metadata: annotations: cni.projectcalico.org/podIP: 172.16.103.138/32 cni.projectcalico.org/podIPs: 172.16.103.138/32 creationTimestamp: "2022-11-12T13:33:51Z" labels: run: nginx name: nginx namespace: default resourceVersion: "380549" uid: fb05e3d9-67c0-40fc-a628-63b7a7abc1fc spec: containers: - image: nginx imagePullPolicy: Always name: nginx resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-97jpz readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true nodeName: w2-k8s preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 volumes: - name: kube-api-access-97jpz projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: conditions: - lastProbeTime: null lastTransitionTime: "2022-11-12T13:33:51Z" status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2022-11-12T13:33:56Z" status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2022-11-12T13:33:56Z" status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2022-11-12T13:33:51Z" status: "True" type: PodScheduled containerStatuses: - containerID: docker://1394045afb99254b6ccc79b620b1581f67825e0e57555e03631b231cbab5b382 image: nginx:latest imageID: docker-pullable://nginx@sha256:943c25b4b66b332184d5ba6bb18234273551593016c0e0ae906bab111548239f lastState: {} name: nginx ready: true restartCount: 0 started: true state: running: startedAt: "2022-11-12T13:33:55Z" hostIP: 192.168.1.102 phase: Running podIP: 172.16.103.138 podIPs: - ip: 172.16.103.138 qosClass: BestEffort startTime: "2022-11-12T13:33:51Z"
Shell
복사

kubectl get po -A

# -A 옵션으로 모든 Namespace의 Pod 확인 [root@m-k8s 1.6]# kubectl get po -A NAMESPACE NAME READY STATUS RESTARTS AGE kube-system calico-kube-controllers-744cfdf676-jshmm 1/1 Running 0 6m36s kube-system calico-node-b2ppc 1/1 Running 0 6m36s kube-system coredns-74ff55c5b-g5zgb 1/1 Running 0 6m36s kube-system coredns-74ff55c5b-lgplz 1/1 Running 0 6m36s kube-system etcd-m-k8s 1/1 Running 0 6m49s kube-system kube-apiserver-m-k8s 1/1 Running 0 6m49s kube-system kube-controller-manager-m-k8s 1/1 Running 0 6m49s kube-system kube-proxy-6cxhd 1/1 Running 0 6m36s kube-system kube-scheduler-m-k8s 1/1 Running 0 6m49s ```
Shell
복사

kubectl get [po/node] -w

# -w옵션으로 변화하는 내용 출력 [root@m-k8s 1.6]# kubectl get node -w NAME STATUS ROLES AGE VERSION m-k8s Ready control-plane,master 12m v1.20.2 w1-k8s NotReady <none> 0s v1.20.2 w1-k8s NotReady <none> 0s v1.20.2 w1-k8s NotReady <none> 0s v1.20.2 w1-k8s NotReady <none> 0s v1.20.2 w1-k8s NotReady <none> 0s v1.20.2 w1-k8s NotReady <none> 3s v1.20.2 w1-k8s NotReady <none> 4s v1.20.2 w1-k8s NotReady <none> 10s v1.20.2 w1-k8s Ready <none> 30s v1.20.2
Shell
복사

kubectl get [node] --show-labels

[root@m-k8s 6.3]# k get node --show-labels NAME STATUS ROLES AGE VERSION LABELS m-k8s Ready control-plane,master 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=m-k8s,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers= w1-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=w1-k8s,kubernetes.io/os=linux w2-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=w2-k8s,kubernetes.io/os=linux w3-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=w3-k8s,kubernetes.io/os=linux
YAML
복사

kubectl get [node] -l [key=value]

[root@m-k8s 6.3]# k get node -l input=test NAME STATUS ROLES AGE VERSION w3-k8s Ready <none> 21d v1.22.0
YAML
복사

kubectl describe

배포된 오브젝트의 상태(이벤트) 파악

kubectl describe po

[root@m-k8s ~]# k describe po nginx Name: nginx Namespace: default Priority: 0 Node: w3-k8s/192.168.1.103 Start Time: Sat, 12 Nov 2022 22:46:55 +0900 Labels: run=nginx Annotations: cni.projectcalico.org/podIP: 172.16.132.9/32 cni.projectcalico.org/podIPs: 172.16.132.9/32 Status: Running IP: 172.16.132.9 IPs: IP: 172.16.132.9 Containers: nginx: Container ID: docker://efd2e1fca02e00fcf67b5c938d03ab9f044732ac7c7c32a1d9cc45f3574cdc31 Image: nginx Image ID: docker-pullable://nginx@sha256:943c25b4b66b332184d5ba6bb18234273551593016c0e0ae906bab111548239f Port: <none> Host Port: <none> State: Running Started: Sat, 12 Nov 2022 22:46:59 +0900 Ready: True Restart Count: 0 Environment: <none> Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-mm7xp (ro) Conditions: Type Status Initialized True Ready True ContainersReady True PodScheduled True Volumes: kube-api-access-mm7xp: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: <nil> DownwardAPI: true QoS Class: BestEffort Node-Selectors: <none> Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 6s default-scheduler Successfully assigned default/nginx to w3-k8s Normal Pulling 4s kubelet Pulling image "nginx" Normal Pulled 2s kubelet Successfully pulled image "nginx" in 2.458332894s Normal Created 2s kubelet Created container nginx Normal Started 2s kubelet Started container nginx
Shell
복사

kubectl run

단일 Pod만 배포
[root@m-k8s ~]# kubectl run nginx --image=nginx pod/nginx created
Shell
복사

kubectl run [name] --image=[image] -o yaml

# -o yaml 옵션으로 코드(배포된 코드, 상태 값) 확인 [root@m-k8s ~]# kubectl run nginx --image=nginx -o yaml apiVersion: v1 kind: Pod metadata: creationTimestamp: "2022-11-12T13:22:52Z" labels: run: nginx name: nginx namespace: default resourceVersion: "379503" uid: cd7aa026-74f2-453e-98c3-34ac869eb027 spec: containers: - image: nginx imagePullPolicy: Always name: nginx resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-5bb4q readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true preemptionPolicy: PreemptLowerPriority priority: 0 restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: default serviceAccountName: default terminationGracePeriodSeconds: 30 tolerations: - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 300 - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 300 volumes: - name: kube-api-access-5bb4q projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace status: phase: Pending qosClass: BestEffort
Shell
복사

kubectl create

Pod, Deployment 배포
[root@m-k8s log]# kubectl create deploy nginx-deploy --image=nginx deployment.apps/nginx-deploy created
Shell
복사

kubectl apply

Pod, Deployment 배포 / -f 옵션을 이용하여 파일로 설치
[root@m-k8s ~]# kubectl apply -f ~/_Lecture_k8s_learning.kit/ch2/2.3/apy-nginx.yaml deployment.apps/apy-nginx created
Shell
복사

kubectl scale

pod 개수를 늘리거나 줄임
[root@m-k8s ~]# kubectl scale deployment nginx --replicas=3 deployment.apps/nginx scaled
Shell
복사

kubectl edit

배포된 오브젝트 수정
[root@m-k8s ~]# kubectl edit deploy apy-nginx restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 status: availableReplicas: 1 conditions: - lastTransitionTime: "2022-11-07T19:19:16Z" lastUpdateTime: "2022-11-07T19:19:16Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2022-11-07T19:19:10Z" lastUpdateTime: "2022-11-07T19:19:16Z" message: ReplicaSet "apy-nginx-558dd8d455" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 2 readyReplicas: 1 replicas: 1 updatedReplicas: 1
Shell
복사

kubectl exec

배포한 Pod내부에 컨테이너로 접속
[root@m-k8s ~]# kubectl exec apy-nginx-558dd8d455-5sjk6 -it -- /bin/bash root@apy-nginx-558dd8d455-5sjk6:/#
Shell
복사

kubectl delete

배포한 Pod, Deployment, namespace 등 오브젝트 삭제

kubectl delete po [pod]

# pod 삭제 [root@m-k8s ~]# kubectl delete po nginx pod "nginx" deleted
Shell
복사

kubectl delete deployments.apps [deploy]

# Deployment 삭제 [root@m-k8s ~]# kubectl delete deployments.apps nginx deployment.apps "nginx" deleted
Shell
복사

kubectl delete ns [namespace]

# namespace 삭제 [root@m-k8s ~]# kubectl delete ns [namespace]
Shell
복사

kubectl delete -f [file]

# yaml파일로 만든 pod 삭제
Shell
복사

kubectl delete -f [dir]

# 디렉터리 내에 있는 yaml파일로 만든 pod 삭제 # 많은 pod를 생성했을 때 사용하기 좋음
Shell
복사

kubectl logs

Pod의 컨테이너의 로그 확인

kubectl logs [pod이름]

# 컨테이너의 로그 확인 [root@m-k8s ~]# k logs nginx /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2022/11/12 13:46:59 [notice] 1#1: using the "epoll" event method 2022/11/12 13:46:59 [notice] 1#1: nginx/1.23.2 2022/11/12 13:46:59 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 2022/11/12 13:46:59 [notice] 1#1: OS: Linux 3.10.0-1127.19.1.el7.x86_64 2022/11/12 13:46:59 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2022/11/12 13:46:59 [notice] 1#1: start worker processes 2022/11/12 13:46:59 [notice] 1#1: start worker process 29
Shell
복사

kubectl port-forward

애플리케이션을 외부로 노출시키는 포트 포워딩 명령어

kubectl port-forward [pod] [포트:포트]

# 1. 127.0.0.1 IP에 대해서만 포트 포워딩하기 [root@m-k8s 4.2]# k port-forward fwd-chk-hn 80:80 Forwarding from 127.0.0.1:80 -> 80 Handling connection for 80 # 127.0.0.1은 정상적으로 접속이 된다. [root@m-k8s ~]# curl 127.0.0.1 fwd-chk-hn # eth1 IP는 접속이 되지 않는다. [root@m-k8s ~]# curl 192.168.1.10 curl: (7) Failed connect to 192.168.1.10:80; Connection refused # 2. 모든 IP(0.0.0.0)에 대해서 포트 포워딩 하기 [root@m-k8s 4.2]# k port-forward --address 0.0.0.0 fwd-chk-hn 80:80 Forwarding from 0.0.0.0:80 -> 80 # # 127.0.0.1에 정상적으로 접속이 된다. [root@m-k8s ~]# curl 127.0.0.1 fwd-chk-hn # eth1 IP에 정상적으로 접속이 된다. [root@m-k8s ~]# curl 192.168.1.10 fwd-chk-hn
YAML
복사

kubectl (un)cordon [node]

cordon 명령어이다.
[root@m-k8s 6.2]# k get no NAME STATUS ROLES AGE VERSION m-k8s Ready control-plane,master 20d v1.22.0 w1-k8s Ready <none> 20d v1.22.0 w2-k8s Ready <none> 20d v1.22.0 w3-k8s Ready <none> 20d v1.22.0 [root@m-k8s 6.2]# k cordon w3-k8s node/w3-k8s cordoned [root@m-k8s 6.2]# k get no NAME STATUS ROLES AGE VERSION m-k8s Ready control-plane,master 20d v1.22.0 w1-k8s Ready <none> 20d v1.22.0 w2-k8s Ready <none> 20d v1.22.0 w3-k8s Ready,SchedulingDisabled <none> 20d v1.22.0 [root@m-k8s 6.2]# k uncordon w3-k8s node/w3-k8s uncordoned [root@m-k8s 6.2]# k get node NAME STATUS ROLES AGE VERSION m-k8s Ready control-plane,master 20d v1.22.0 w1-k8s Ready <none> 20d v1.22.0 w2-k8s Ready <none> 20d v1.22.0 w3-k8s Ready <none> 20d v1.22.0
YAML
복사

kubectl drain [node]

[root@m-k8s 6.2]# k drain w3-k8s --ignore-daemonsets --force node/w3-k8s already cordoned WARNING: deleting Pods not managed by ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet: default/net; ignoring DaemonSet-managed Pods: kube-system/calico-node-lqtx2, kube-system/kube-proxy-rspm6, metallb-system/speaker-plhlg evicting pod default/deploy-drain-5f6c9db768-rr2jd evicting pod ingress-nginx/ingress-nginx-admission-patch-vkkn7 evicting pod default/net evicting pod ingress-nginx/ingress-nginx-admission-create-r9rlz pod/ingress-nginx-admission-patch-vkkn7 evicted pod/ingress-nginx-admission-create-r9rlz evicted pod/deploy-drain-5f6c9db768-rr2jd evicted pod/net evicted node/w3-k8s evicted
YAML
복사

kubectl label node [node] [key=value]

[root@m-k8s 6.3]# k label node w3-k8s input=test node/w3-k8s labeled [root@m-k8s 6.3]# k get node --show-labels NAME STATUS ROLES AGE VERSION LABELS m-k8s Ready control-plane,master 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=m-k8s,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers= w1-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=w1-k8s,kubernetes.io/os=linux w2-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=w2-k8s,kubernetes.io/os=linux w3-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,input=test,kubernetes.io/arch=amd64,kubernetes.io/hostname=w3-k8s,kubernetes.io/os=linux
YAML
복사

kubectl label node [node] [key]-

[root@m-k8s 6.3]# k label node w3-k8s input- node/w3-k8s labeled [root@m-k8s 6.3]# k get node --show-labels NAME STATUS ROLES AGE VERSION LABELS m-k8s Ready control-plane,master 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=m-k8s,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=,node.kubernetes.io/exclude-from-external-load-balancers= w1-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=w1-k8s,kubernetes.io/os=linux w2-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=w2-k8s,kubernetes.io/os=linux w3-k8s Ready <none> 21d v1.22.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=w3-k8s,kubernetes.io/os=linux
YAML
복사
[root@m-k8s 6.7]# k get node m-k8s -o yaml | grep -i taint -F5 [root@m-k8s 6.7]# k taint node w3-k8s DB=customer-info:NoSchedule [root@m-k8s 6.7]# k create deployment nginx --image=nginx -o yaml --dry-run=client
[root@m-k8s 6.7]# k run nginx --image=nginx -o yaml --dry-run=client
[root@m-k8s 6.7]# k get po --show-labels
[root@m-k8s 6.7]#k describe pod kube-apiserver-m-k8s -n kube-system | grep -i author -F4
[root@m-k8s dev1]# k get role -n dev1 NAME CREATED AT role-get-dev1 2022-12-05T13:06:15Z
[root@m-k8s dev1]# k config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE ctx-dev1-hoon kubernetes dev1-set-hoon * kubernetes-admin@kubernetes kubernetes kubernetes-admin [root@m-k8s dev1]# k config use-context ctx-dev1-hoon Switched to context "ctx-dev1-hoon".
YAML
복사
k config current-context
[root@m-k8s cluster]# k get clusterrole | grep pod
[root@m-k8s cluster]# k get clusterrole pod-admin -o yaml
YAML
복사