[k8s] 3. 파드 생성

ㅎㅈㅈㅇ·2021년 6월 27일
0

Kubernetes

목록 보기
3/6

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 setreplication controller
셀렉터집합 기반 연산자 지원(in, exists)동등 비교만 가능
rolling update지원하지 않음지원
  • replica set은 deployment controller를 통해 rolling update 지원
kubectl get po kubia -o yaml
- 파드의 YAML 디스크립터

파드를 정의 하는 부분

  • 주요 요소
    • Metadata: 이름, 네임스페이스, 레이블 및 파드에 관한 정보
    • Spec: 파드 컨테이너, 볼륨, 기타 데이터
    • Status: 파드, 컨테이너의 설명과 상태, 현재 정보 (읽기 전용 런타임 데이터)

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
- 포트 포워딩

레이블

  • 파드 나 오브젝트를 조직화할 수 있는 쿠버네티스 기능
  • 하나의 파드에 여러 레이블을 붙일 수 있음 (app, env)
kubectl get po --show-labels
kubectl get po -L <labelName>
- 라벨 조회

kubectl label po <podName> <labelKey>=<labelValue>
kubectl label po <podName> <labelKey>=<labelValue> --overwrite
- 라벨 생성/수정 (overwrite)

0개의 댓글