클러스터 관리 명령어
kubectl [명령] [자원종류] [이름] [플래그]
명령: 하위 명령어 예: create, get, describe, delete
자원종류: 자원의 유형, 단수형,복수형 또는 약어 가능
이름: 자원의 이름, 없을 경우 모든 정보를 보여줍니다
플래그: 선택적 플래그 또는附加 파라미터
| 하위 명령어 | 설명 |
|---|---|
| help | 명령 및 하위 명령어의 도움말 보기 |
| cluster-info | 클러스터 관련 구성 정보 보기 |
| version | 서버 및 클라이언트 버전 보기 |
| api-resources | 현재 서버의 모든 자원 보기 |
| api-versions | 현재 서버의 모든 자원 버전 보기 |
| config | kubeconfig 인증 정보 관리 |
네임스페이스
네임스페이스는 Kubernetes 시스템에서 중요한 자원입니다. 환경 분리 또는 멀티 테넌트 환경에서 자원을 분리하는 데 사용됩니다.
kubectl get ns또는kubectl get namespaces로 네임스페이스 목록 보기kubectl create ns [이름]또는kubectl create namespace [이름]로 네임스페이스 생성kubectl delete namespace [이름]로 네임스페이스 삭제kubectl describe ns [이름]로 네임스페이스 상세 정보 보기
포드
포드는 Kubernetes에서 가장 작은 실행 단위입니다. 하나 이상의 컨테이너로 구성될 수 있습니다. 같은 포드 내의 컨테이너는 같은 네트워크, IP, 및 저장소를 공유합니다.
포드 상태
- Pending: 스케ジュulin 중
- Running: 실행 중
- Completed: 완료됨
- Failed: 실패
- Unknown: 상태 정보 없음
포드 관리 명령어
kubectl get pods -n [이름] -o wide -w로 포드 목록 보기kubectl describe pod [이름] -n [이름]로 포드 상세 정보 보기kubectl run [이름] --image=[이미지] --port=[포트] --namespace [이름]로 포드 생성kubectl delete pod [이름] -n [이름]로 포드 삭제kubectl exec [이름] -c [컨테이너 이름] -n [이름] -it /bin/bash로 컨테이너 내부로 진입
틴트 정책
틴트는 노드와 포드 사이에서의 호환성 문제를 해결하기 위한 라벨입니다. 세 가지 효과가 있습니다: PreferNoSchedule, NoSchedule, NoExecute.
틴트 관리
kubectl taint node [이름] key=value:effect로 틴트 설정kubectl describe node [이름]로 틴트 보기kubectl taint node [이름] key-value:effect-로 틴트 삭제
자원 파일 객체
Pod의 리소스清单 예제:
apiVersion: v1
kind: Pod
metadata:
name: [이름]
namespace: [이름]
labels:
[레이블]: [값]
spec:
containers:
- name: [이름]
image: [이미지]
ports:
- name: [이름]
containerPort: [번호]
resources:
limits:
cpu: [값]
memory: [값]
requests:
cpu: [값]
memory: [값]
리소스 관리
kubectl apply -f [파일]로 리소스 파일 적용kubectl create namespace [이름]로 네임스페이스 생성kubectl describe pods -n [이름]로 포드 상태 보기