쿠버네티스 사용법
k get pod -o yaml
kubectl logs nginx
k get nodes,pods,deployments,namespaces # 모든 정보 출력
k delete pods --all # 모든 pods 삭제
# 기본적으로 pod을 삭제하더라도 deploy가 남아있기 때문에 다시 재생성된다.
k delete deploy --all # 모든 deploy 삭제
kubectl run webserver --image=nginx:latest --port=80
kubectl exec webserver -- cat /etc/hostname
kubectl exec webserver -- cat /etc/hosts
k exec -it webserver -- /bin/bash # webserver을 shell로 접속
# uname -a 등등 이것저것 쳐보기
# ctrl + d : 컨테이너를 중지시키고 빠져나오기
# ctrl + P, Q : 컨테이너는 실행시킨 상태에서 빠져나오기
k run test_server --image=httpd 레드햇계열 뭐시기 설치해서 여러동작 해보기
taint 잘못 설정했을 때 설정을 다시 끄는 방법
kubectl taint nodes k8s-master node-role.kubernetes.io=master:NoSchedule
kubectl describe node k8s-master | grep Taints
pod을 강제로 수동으로 끄는 방법
kubectl -n <namespace> delete pods --grace-period=0 --force <pod_name>
미니 프로젝트
k run apache --image=httpd:latest --port=80
k get pods
curl https://10.11.99.106
k exec -it apache -- /bin/bash
uname -a
k delete pods apache
k create -f registry.yaml --edit -o json
k create deployment web-apaches --image=httpd:latest --replicas=3 # 같은 deployment가 3개 만들어짐
k get deploy
k delete pods [생성한 3개의 pod 이름 중 하나 입력]
# 하나를 지워도 replica로 인해 다시 생성
# deployment, pod 어떤 걸 지워도 다시 생성되므로
k delete deploy [deployment 이름]# 이것으로 완전히 지울 수 있음
### 참고로 생성 시 이름지을 때 대문자는 안됨
k exec -it web-apaches [pod 이름] -- /bin/bash
k get pod -o wide
k edit deploy web-apaches # 운영중인 노드의 deploy를 edit명령으로 수정가능
k run webserver --image=nginx --port=80 --dry-run=client -o yaml > webserver.yaml
# yaml코드에서 가장 앞에 나오는 태그 순서 akms 항상 기억할 것
# apiversion
# kind
# metadata
# spec
k apply -f webserver.yaml
cp webserver.yaml webserver-1.yaml
k create -f webserver.yaml # 이를 생성하려고 하면 중복이라고 생성이 안됨
# edit으로 컨테이너의 이름만 수정해준다고 해서 다 되는 것이 아니라 pod의 이름까지 달라야 한다.
k delete -f webserver.yaml
k delete -f webserver-1.yaml
k get pods --show-labels # webserver의 label들을 보여줌
k pod webserver app- # webserver에서 app이라는 label을 제거
k get pods --env # 환경설정된 것을 보여줌
k delete pods --all # 모두 제거
### ns 생성
k create ns n1 --dry-run=client -o yaml > ns-n1.yaml
k create -f ns-n1.yaml
k get pod -n n1
k run web1 --image=nginx -n n1
k get pods --all-namespaces
### 네임 스페이스 바꾸기
k config view
k config current-context
k config set-context ns1@kubernetes --cluster=kubernetes --user=kubernetes-admin --namespace=ns1
k config view # 아직까지는 context는 바뀌지 않았다.
k config use-context ns1@kubernetes
k confoig view # 이제 바뀌었다.
k run ns1-web1 --image=nginx # 네임스페이스를 지정해주지 않아도
k get pods -n ns1 # ns1으로 되어있는 것을 볼 수 있다.
# 이는 우리가 set-context를 통해 default namespace를 ns1으로 지정해주었기 때문이다.
'Kubernetes' 카테고리의 다른 글
23.9.1(금) 쿠버네티스 6일차 (0) | 2023.09.01 |
---|---|
23.8.25(금) 쿠버네티스 1일차 (0) | 2023.09.01 |
23.8.29(화) 쿠버네티스 3일차 (0) | 2023.09.01 |
23.8.30(수) 쿠버네티스 4일차 (0) | 2023.09.01 |
23.8.31(목) 쿠버네티스 5일차 (0) | 2023.09.01 |