목차
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
복사