반응형
▶kubectl 명령어 활용
- kubectl 이란?
kubenets에게 원하는 작업을 요청할때 쓰는 명령어
명령어 형식: kubectl [command] [type] [name] [flags]
[command] - 자원에 실행할 명령(create, get, delete, edit..)
[type] - 자원의 타입 (node, pod, service...)
[name] - 자원의 이름
[flags] - 부가적으로 설정할 옵션 (--help, -o options, dry-run...) - pod 생성
kubectl run [name] --image=[이미지] --port [사용할 데몬포트] - 컨테이너 pod 만드는 명령어
kubectl create deployment mainui --image=httpd --reflicas=3 - pods를 여려개 만들때 사용 - 포트 포워딩
kubectl port-forward webserver 80:80 - 포트포워딩 해주는 명령어
80: - 로컬의 포트
:80 - pod의 포트
pod 삭제
kubectl delete pod [pod명]
▶컴포넌트 개념
- 마스터 (control plane) 컴포넌트
- etcd
- key-value 타입의 저장소
- kube-apiserver
- k8s API를 사용하도록 요청을 받고 요청이 유효한지 검사
- kube-schduler
- 파드를 실행할 노드 선택
- kube-controller-manager
- 파드를 관찰하며 파드의 개수를 보장
- 워커 노드 컴포넌트
- kubelet
- 모든 노드에서 실행되는 k8s 에이전트
- 데몬 형태로 동작
- kube-proxy
- k8s의 network 동작을 관리
- iptables rule을 구성
- 컨테이너 런타임
- 컨테이너를 실행하는 엔진
- docker, containerd, runc
▶ Namespace
- 클러스터 하나를 여러 개의 논리적 단위로 사용
- 네임스페이스 생성
kubectl create namespace
- 네임스페이스 삭제
kubectl delete namespace [namespace명]
- namespace siwtch 하기 (default에서 다른거로 바꾸기) - Base namespace 바꾸기
기본으로 사용하는 namespace를 default가 아닌 다른 이름의 namespace로 switch
1. namespace를 포함한 context 등록
# kubectl config --help
# kubectl config set-context NAME --cluste=kubernetes... --user=...
- 새로 등록할 context를 등록해준다
# kubectl config view
2. 등록된 namespace로 context 변경
# kubectl config user-context NAME
- 새로 등록한 context의 namespace가 기본 namespace로 사용된다.
▶ yaml 템플릿
- scalar 문법 = ':'을 기준으로 key: value를 설정
- 배열 문법 = '-' 문자로 여러 개를 나열
- 들여쓰기 할땐 Tab이 아닌 Space bar 사용
▶ API
- kubernetes의 object 정의 시 apiversion이 필요
- kubernetes가 update하는 api가 있으면 새로운 api가 생성됨
- API Object의 종류 및 버전
NAME | Version |
Deployment | apps/v1 |
Pod | v1 |
ReplicaSet | apps/v1 |
replicationController | v1 |
service | v1 |
PersistentVolume | v1 |
# kubectl explain pod
- pod의 api 버전 확인 가능
# kubectl api-resources
- api 버전 지원하는지 확인 가능
▶Pod 란?
- 컨테이너를 표현하는 k8s API의 최소단위
(Control Plane의 API에서 컨테이너를 실행은 불가) - pod에는 하나 또는 여러개의 컨테이너가 포함될 수 있음
반응형
'Tech' 카테고리의 다른 글
가상머신에 k8s 설치하기 (Google Compute Engine - Ubuntu 20.04 LTS) (1) | 2024.11.26 |
---|---|
k8s 설치간 error 모음 (계속 업뎃중) (0) | 2024.11.26 |
Jenkins 설치시 public key not installed 에러 상황 (0) | 2024.03.21 |
Zabbix 버전별 설치 및 마이그레이션 (0) | 2020.12.01 |
centos7에서 git 2.x 버전 설치하기 (0) | 2020.10.16 |