포드, 배포 ReplicaSet 서비스 관련 관계 분석 K8S

# 분석

포드
첫째, 우리는 일정 포드의 가장 작은 단위로 시작합니다.
내 K8S 클러스터 현재 포드를 가지고, 그 이름은 admin-mysql을-1d29997-5db458497c-h6rrs입니다

[root@k8s-master ~]# kubectl get pod admin-mysql-1d29997-5db458497c-h6rrs
NAME                                   READY   STATUS    RESTARTS   AGE
admin-mysql-1d29997-5db458497c-h6rrs   1/1     Running   0          5d23h

포드의 세부 봐 :

[root@k8s-master ~]# kubectl describe pod admin-mysql-1d29997-5db458497c-h6rrs
Name:               admin-mysql-1d29997-5db458497c-h6rrs
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               k8s-node1/192.168.0.247
Start Time:         Fri, 01 Nov 2019 10:57:47 +0800
Labels:             name=mysql
                    pod-template-hash=5db458497c
Annotations:        <none>
Status:             Running
IP:                 10.244.1.72
Controlled By:      ReplicaSet/admin-mysql-1d29997-5db458497c
Containers:
  mysql57-container:
    Container ID:   docker://7e68cae8d4e9840ed908965252ae7aff8281ca81954ab0b5d58e053f5371bb5d
    Image:          mysql57:5.7
    Image ID:       docker://sha256:f6509bac49801f48628167728aba66d64533aaa7d384e03b75a8fe4e6c0f6599
    Port:           3306/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Fri, 01 Nov 2019 10:57:48 +0800
    Ready:          True
    Restart Count:  0
    Environment:
      MYSQL_ROOT_PASSWORD:  welcome1
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-9rfpv (ro)
Conditions:
  Type              Status
  Initialized       True 
  Ready             True 
  ContainersReady   True 
  PodScheduled      True 
Volumes:
  default-token-9rfpv:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-9rfpv
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:          <none>
[root@k8s-master ~]# 

다음은 포드 ReplicaSet 관리의 관리 - mysql을-1d29997-5db458497c의 이름입니다, 그것을 볼 수 있습니다, 우리는 믿고, RS는 한 단계 더 높은 포드를 관리하는 데 사용되는 포드 구성 요소보다. RS는 포드의 그룹을 관리합니다.

Controlled By: ReplicaSet/admin-mysql-1d29997-5db458497c

ReplicateSet (RS)

다음으로, 우리는이 RS의 세부 사항을 살펴

[root@k8s-master ~]# kubectl describe rs admin-mysql-1d29997-5db458497c
Name:           admin-mysql-1d29997-5db458497c
Namespace:      default
Selector:       name=mysql,pod-template-hash=5db458497c
Labels:         name=mysql
                pod-template-hash=5db458497c
Annotations:    deployment.kubernetes.io/desired-replicas: 1
                deployment.kubernetes.io/max-replicas: 2
                deployment.kubernetes.io/revision: 1
Controlled By:  Deployment/admin-mysql-1d29997
Replicas:       1 current / 1 desired
Pods Status:    1 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:  name=mysql
           pod-template-hash=5db458497c
  Containers:
   mysql57-container:
    Image:      mysql57:5.7
    Port:       3306/TCP
    Host Port:  0/TCP
    Environment:
      MYSQL_ROOT_PASSWORD:  welcome1
    Mounts:                 <none>
  Volumes:                  <none>
Events:                     <none>
[root@k8s-master ~]# 

키 정보를 잡아라
Controlled By: Deployment/admin-mysql-1d29997

RS는 전개 제어 관리-MySQL을 1d29997이 뷰에 대한 이름, 배포 RS는 RS를 관리하는 구성 요소의 레벨보다 높다.

는 RS 수준의 이벤트, 포드에 운영, 포드가 만드는, 삭제 포드

배포
다음으로, 우리는 Delpoyment를 살펴

[root@k8s-master ~]# kubectl describe deploy admin-mysql-1d29997
Name:                   admin-mysql-1d29997
Namespace:              default
CreationTimestamp:      Fri, 01 Nov 2019 10:57:46 +0800
Labels:                 name=mysql
Annotations:            deployment.kubernetes.io/revision: 1
Selector:               name=mysql
Replicas:               1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:  name=mysql
  Containers:
   mysql57-container:
    Image:      mysql57:5.7
    Port:       3306/TCP
    Host Port:  0/TCP
    Environment:
      MYSQL_ROOT_PASSWORD:  welcome1
    Mounts:                 <none>
  Volumes:                  <none>
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      True    MinimumReplicasAvailable
  Progressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   admin-mysql-1d29997-5db458497c (1/1 replicas created)
Events:          <none>
[root@k8s-master ~]# 

그것은 더 이상 다른 구성 요소의 제어하에, 배포 수준에서 볼 수없는, 그의 상태가 API로 생성 호출 변경할 수 있습니다. 우리는 배치 수준의 이벤트가 일반적으로 망원 포드 클러스터는 RS의 서비스, 롤링 업그레이드 서비스 또는 작업을 만들기를 참조하십시오.

서비스가
마지막으로, 여기에는 양을 이해하고, 사실,이 세트의 안정적인 외부 서비스 기반에 서비스를 제공하는 것입니다.

추천

출처blog.51cto.com/1345992/2448398