mingming

kubernetes 연습장 본문

kubernetes

kubernetes 연습장

mingming_96 2023. 8. 13. 19:28

init, join 전으로 되돌리고싶다면 

kubeadm reset

 

토큰 값 다시 생성하기 

kubeadm token create

 

join 명령어와 함께 생성하기

kubeadm token create --print-join-command

 

동작중인 오브젝트 수정

kubectl edit deployments.app <name>

 

 

yaml파일로 출력하기

kubectl create deployment nginx --dry-run=client --port 80 --replicas=3 --image=nginx -o yaml > nginx-deployment.yaml

 

vim nginx-deployment.yaml

 

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx

 

kubectl run nginx --image=nginx --dry-run=client --port 80 -o yaml > nginx-pod.yaml

 

vim nginx-pod.yaml

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: nginx
  name: nginx
spec:
  containers:
  - image: nginx
    name: nginx
    ports:
    - containerPort: 80

 

실행중인 오브젝트 정보 확인 

kubectl get <object_name> -n <namespace>

kubectl get <object_name> -n <namespace> -o wide

 

컨테이너 파드 로그 확인

kubectl logs <pod_name> -n <namespace>

kubectl logs <pod_name> -n <namespace> -c <container_name>

 

오브젝트 상세정보 확인

kubectl describe <object_name> -n <namespace>

 

리소스 정보 출력

kubectl explain <object_name>

 

라벨정보 출력

kubectl get <object_name> --show-labels

 

특정 label 값 확인 

kubectl get pods -L <label_name>

 

특정 label 이 있는 오브젝트만 검색

kubectl get <object_name> --show-labels -l app=env

 

레이블 추가 

kubectl label <object> <object_name> <label>=<label_value>

 

레이블 삭제

kubectl label <object> <object_name> <label>-

 

Pod의 필요한 정보만 추출

kubectl get pods nginx -o json | grep -i podip

 

API Verions 확인

kubectl api-versions

 

Deployment Expose

kubectl expose deployment <deployment_name> --type=LoadBalancer --name=<service_name> --port

 

patch

kubectl patch service <service_name> -p '{"spec":{"type":"LoadBalancer"}}'

 

특정 상태 파드 지우는 명령어 

kubectl delete pods --field-selector=status.phase=Succeeded # Completed
kubectl delete pods --filed-selector=status.phase=Failed # Error

 

taint 설정 특정 노드 no schedule

kubectl taint nodes node-1 special-node=true:NoSchedule
kubectl taint nodes node-1 special-node-

 

kubectl 명령어 자동완성 

apt install -y bash-completion
yum install -y bash-completion
kubectl completion bash > /etc/bash_completion.d/kubectl

echo 'complete -F __start_kubectl' >> ~/.bashrc

 

이미지 변경

kubectl set image <object_type> <object_name> <container_name>=<image_nmae> --record

 

rollout

kubectl rollout status <object_type> <object_name>

kubectl rollout history <object_type> <object_name>

kubectl rollout undo <object_type> <object_name> --to-revision=

 

'kubernetes' 카테고리의 다른 글

Kubernetes 컴포넌트  (0) 2023.08.14
kubernetes 동작원리  (1) 2023.08.13
EKS 클러스터 배포하기 (Terraform)  (0) 2023.08.11
EKS 클러스터 배포하기 (eksctl 명령어)  (0) 2023.08.09
Kubernetes 설치하기 (Ubuntu 20.04)  (0) 2023.08.08