본문 바로가기
Containers/Kubernetes

명령형 명령어

by shinebee* 2020. 7. 23.

1. replication controller(pod) 생성

kubectl run myapp-httpd --image=httpd --port=80 --generator=run/v1
  • kubectl run 명령을 사용하여 replication controller를 생성했다.
  • controller의 이름 = myapp-httpd
  • container에 사용할 image = httpd
  • application port = 80
  • --gernerator
 

kubectl Usage Conventions

Recommended usage conventions for kubectl. Using kubectl in Reusable Scripts For a stable output in a script: Request one of the machine-oriented output forms, such as -o name, -o json, -o yaml, -o go-template, or -o jsonpath. Fully-qualify the version. Fo

kubernetes.io

 

 

2. pod 확인

  • 현재 myapp-httpd 파드에 하나의 컨테이너가 동작하고 있다.

 

 

3. replication controller 확인

  • 현재 myapp-httpd replication controller가 하나의 pod를 생성하였다.

 

 

4. service 생성

kubectl expose replicationcontroller myapp-httpd --type=LoadBalancer --name myapp-svc
  • 외부에서 cluster 내부의 container에 접근할 수 있도록 service object를 생성해서 노출해야 한다.

 

 

5. service 확인

  • 생성된 서비스 = myapp-svc
  • kubernetes 서비스는 기본적으로 존재하는 서비스이다.

 

 

6. service 접근

 

 

7.  pod scaling

kubectl scale replicationcontroller myapp-httpd --replicas=3
  • myapp-httpd 컨트롤러는 하나의 pod를 가지고 있었다. 이를 3개의 복제본으로 스케일링한다.

 

 

8. scaling 결과 확인

  • AGE가 비교적 최근인 2개의 pod가 스케일링에 의해 최근에 생성된 pod이다.

 

 

9. 서비스 요청 시 분산된 접근 확인

watch -n 1 curl 192.168.122.200
  • 내용이 같으므로 다른 결과를 확인하지 못한다..
  • 다른 파드의 컨테이너에 접근한다.

 

 

10. 생성한 리소스 삭제

  • 전체 object 목록 확인

 

  • 특정 pod 삭제하기

  • 특정 pod를 삭제하면 복제본의 개수를 맞추기 위해 자동적으로 새로운 pod를 생성한다.

 

  • myapp-httpd replication controller 삭제
kubectl delete replicationcontroller myapp-httpd

 

  • controller를 삭제하면 연결된 파드도 같이 삭제된다.

 

  • myapp-svc 삭제
kubectl delete service myapp-svc

 

  • 전체 목록 확인

  • kubernetes는 원래 존재하는 서비스.

'Containers > Kubernetes' 카테고리의 다른 글

3.2. Label 및 Selector  (0) 2020.07.23
Pod  (0) 2020.07.23
Object 관리  (0) 2020.07.22
YAML  (0) 2020.07.22
kubernetes 구성 요소 및 API  (0) 2020.07.22

댓글