Google cloud를 사용하여 실습 진행함
gcloud init
- configuration, account, project, region/zone 선택
gcloud config list
- 프로젝트 configuration 조회
gcloud container clusters create kubia --num-nodes 3
- 노드 생성
kubectl run kubia --image=lndoor/kubia --port=8080 --generator=run-pod/v1
- 파드 생성 (replication controller가 아님)
kubectl expose rc kubia --type=LoadBalancer --name kubia-http
-> kubectl expose pod kubia --type=LoadBalancer --name kubia-http
- rc 대신 pod을 노출
kubectl scale rc kubia --replicas=3
- `리소스 스케일링을 위해서는 Replica set이나 Deployment 오브젝트가 필요하다` 따라서 패스
- replica set은 replication controller의 next genration
replica set | replication controller | |
---|---|---|
셀렉터 | 집합 기반 연산자 지원(in, exists) | 동등 비교만 가능 |
rolling update | 지원하지 않음 | 지원 |
kubectl get po kubia -o yaml
- 파드의 YAML 디스크립터
Kubernetes in Action Github
https://github.com/luksa/kubernetes-in-action
kubectl get po kubia-manual -o yaml
- 디스크립션 파일을 이용해 파드 생성
kubectl logs kubia
- 파드 로그
kubectl logs <podName> -c <containerName>
kubectl port-forward kubia-manual 8888:8080
- 포트 포워딩
kubectl get po --show-labels
kubectl get po -L <labelName>
- 라벨 조회
kubectl label po <podName> <labelKey>=<labelValue>
kubectl label po <podName> <labelKey>=<labelValue> --overwrite
- 라벨 생성/수정 (overwrite)