kubernetes의 시뮬레이션으로 Pod 복사!

개시하다


할머니를 물리치고 새로운 무대에 오르기 위해 드디어 도커 씨를 만나기로 했습니다.도커와 관계를 잘 맺어 컨테이너 시스템의 구조를 이해하고 이를 타도하는 조사를 진행한다.이번에kubernetes의 디자인 선언 제작과 선언에서 디자인 제작을 배웁니다.

개요


■ 프레젠테이션의 역할 확인
■ 프레젠테이션 제작 선언
한 번의 총결산!(^^)!

■ 프레젠테이션의 역할 확인


설계의 역할은 간단하게 말하면 주로 PORD의 업무 수량을 관리하는 것이다.
이것은 로드 밸런스가 처리 부하가 높을 때 서버의 대수를 늘리는 것과 대응하거나 고장난 서버가 사용할 수 없어도 처리할 수 있도록 가용성을 제공하는 것과 마찬가지로 depliant는Pod의 제어 역할을 맡는다.
또한 Pod의 버전은 애플리케이션 버전 업그레이드 시 자동으로 업그레이드됩니다.
스크롤 업데이트와 스크롤 등 디버깅 관리를 진행한다.
별도의 작업 없이 "복제품 세트"와 협업하여 PORD 수를 제어할 수 있도록 설계되었습니다.
복제품 세트는 선언된'replicas'의 값을 받아들여 Pod의 수량을 제어한다.
복제품 집합 PORD의 제어 특징은
• 수평 배율 조정
· 이상 종료 후 다시 시작
· 요청이 끝나지 않고 계속 대기
잠깐만요.

■ 프레젠테이션 제작 선언


이번에는 선언문을 최대한 간단하게 설정하기 위해 하나의 기록기로 넓은 범위를 만들었다.
설계 제작은 명령에서 kubectl create deployment를 사용합니다.
kubectl create 명령으로 지정할 수 있는 옵션은 kubectl run 명령에 비해 적기 때문에 옵션 지정도 파일을 편집해야 합니다.
이곳에서는 복제품집의 수량을 설정할 수 없기 때문에 간단한 큰 틀만 만든다.
여기서 Pord의nginx 용기를 3개 복사해 보려고 합니다.
커다란 테두리의 설정 웹-deploy.yaml 파일을 씁니다.
$ kubectl create deployment web-deploy --image=nginx --dry-run=client -o yaml > web-deploy.yaml
web-deploy.yaml↓
web-deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: web-deploy
  name: web-deploy
spec:
  replicas: 1
  selector:
    matchLabels:
      app: web-deploy
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: web-deploy
    spec:
      containers:
      - image: nginx
        name: nginx
        resources: {}
status: {}
선언 파일의 필수 항목인 appiVersion,kind,metadata,spec 이외
설계의 설정 항목을 확인하다.
설정 항목 데모
의향
replicas
templat을 시작할 Pod의 수를 설정합니다.이 숫자를 유지하는 걸 보여드릴게요.
selector
아날로그 제어에 설정된 복제품 집합 및 Poddo와 연결된 탭
template
프레젠테이션 시작 POD 설정 설명
strategy
Pod 교체 전략 지정
matchLabels
객체가 지정된 레이블과 일치합니다.
strategy
stratgy에는 Recreate와 RollingUpdate가 있습니다.기본값은 RollingUpdate입니다.
stratgy를 Recreate로 설정할 때 모든 Pod을 삭제한 후 새 Pod Template를 기반으로 Pod를 제작합니다.
stratgy를 Rolling Update로 설정하면 Pod의 수를 지정한 개수에 따라 증감하여 업데이트합니다.Pod가 중지되지 않도록 업데이트합니다.
아날로그 제어 하의 던전 집합을 연결하기 위해
디자인된 메타데이터 탭(app:web-deploy)과 템플릿의 메타데이터 탭(app:web-deploy)이 일치하지 않으면 응용 프로그램에서 오류가 발생하기 때문에 확인합니다.
"replicas:3"으로 변경하여 계획 선언을 적용합니다.
$ kubectl apply -f web-deploy.yaml
deployment.apps/web-deploy created
데모 확인
$ kubectl get deploy
NAME         READY   UP-TO-DATE   AVAILABLE   AGE
web-deploy   3/3     3            3           65s
던전집을 확인한다.
$ kubectl  get rs
NAME                   DESIRED   CURRENT   READY   AGE
web-deploy-d586595dc   3         3         3       2m2s
백덕을 확인한다.
$ kubectl get po -o wide
NAME                         READY   STATUS             RESTARTS   AGE     IP            NODE                 NOMINATED NODE   READINESS GATES
web-deploy-d586595dc-cffd4   1/1     Running            0          3m21s   10.244.0.12   kind-control-plane   <none>           <none>
web-deploy-d586595dc-gwwpl   1/1     Running            0          3m21s   10.244.0.14   kind-control-plane   <none>           <none>
web-deploy-d586595dc-zq57g   1/1     Running            0          3m21s   10.244.0.13   kind-control-plane   <none>           <none>
세 개가 잘 복제됐어요.
복사본 수를 변경합니다.
선언문건을vim 편집을 통해 5개 던전으로 변경
$ kubectl apply -f web-deploy.yaml
에서 변경을 수행한 후
$ kubectl get deploy
NAME         READY   UP-TO-DATE   AVAILABLE   AGE
web-deploy   5/5     5            5           16m

$ kubectl get po -o wide
NAME                         READY   STATUS             RESTARTS   AGE   IP            NODE                 NOMINATED NODE   READINESS GATES
web-deploy-d586595dc-bjhzk   1/1     Running            0          19s   10.244.0.15   kind-control-plane   <none>           <none>
web-deploy-d586595dc-cffd4   1/1     Running            0          16m   10.244.0.12   kind-control-plane   <none>           <none>
web-deploy-d586595dc-fdtr9   1/1     Running            0          19s   10.244.0.16   kind-control-plane   <none>           <none>
web-deploy-d586595dc-gwwpl   1/1     Running            0          16m   10.244.0.14   kind-control-plane   <none>           <none>
web-deploy-d586595dc-zq57g   1/1     Running            0          16m   10.244.0.13   kind-control-plane   <none>           <none>

$ kubectl  get rs
NAME                   DESIRED   CURRENT   READY   AGE
web-deploy-d586595dc   5         5         5       16m
5종으로 변경 가능!(^^)!
kubectl scale --replicas ...
변경합니다.
실행 비례자 상황에서 CPU와 메모리는 자원 부족을 피하기 위해 여분을 확인합니다.

총결산


선언문 쓰기가 힘들어서 열심히 공부하고 싶어요.

좋은 웹페이지 즐겨찾기