�����������������Kanesong (��)���������� ��4���� ����3���� 2������� ��1����� ��CONTENTS�� ��4���� ����3���� 2������� ��1����� ��CONTENTS�����•Pi��x�•��b�•IMm�•��•r��1. ��4���� ����3���� 2������� ��1����� ��CONTENTSh�i���•fn�� �D�D��E�•hVt� � +����������•ek�c � -����D�BBEAD•b��� +�B���A����E���B•Sg�� +����A�B����•�v�� � (�BH�EA��D� ������P������•�sd�•�sao•�sr��•���v•���p��������ECD•�ED����D���� -�����•��EC���ED��/�������•��D�BF������ED�C•�D�D������N��StatefulSetPlus spec: batchDeployConfig: batchAuto: true batchIntervalMinutes: 1 batchNum: 2 maxFailed: 10% podsNumToUpdate: - 30% - 70% podManagementPolicy: Parallel replicas: 6Kube-apiserverPodsPodsImage: V2Image: V1CompletedPodsImage: V21st batch deploy operation30%�pods2nd batch deploy operation70%�podsImage: V2After 1st batch successedCommit a auto batch Watch StatefulSetPlusUpdate eventStatefulSetPlus operatorBatch deploy controlP���������E��•������� �A��D�•��D����A��D����������AC������-��������� ��D���M��NodePodContainer image V1PodkubeletPatch a new image v2to Contianer1. Kubelet.syncPod find podtemplete‘s hash changed2. Kill the Container3. Start a container with new imageContainer image V2StatefulsetPlus operator������-��������� ��D���M��StatefulsetPlus operatorCreate Podinject Inplace Update readiness gate & Inplace Update Condition podtemplate.spec.containers: name: demo-container image: nginx:1.7.9readinessGates:- conditionType: InPlace-Updatestatus: conditions: - lastProbeTime: null status: "True" type: InPlace-Update containerStatuses: - image: nginx:1.7.9 name: demo-container ready: truePrepare update PodUpdate podUpdated Pod completeUpdate Inplace Update Condition to FalsePatch new image to Pod templeteCheck containerstatus image equal pod templete image, update Inplace Update Condition to Truepodtemplate.spec.containers: name: demo-container image: nginx:1.7.9readinessGates:- conditionType: InPlace-Updatestatus: conditions: - lastProbeTime: null status: “False” type: InPlace-Update containerStatuses: - image: nginx:1.7.9 name: demo-container ready: truepodtemplate.spec.containers: name: demo-container image: nginx:1.12readinessGates:- conditionType: InPlace-Updatestatus: conditions: - lastProbeTime: null status: “False” type: InPlace-Update containerStatuses: - image: nginx:1.7.9 name: demo-container ready: truepodtemplate.spec.containers: name: demo-container image: nginx:1.12readinessGates:- conditionType: InPlace-Updatestatus: conditions: - lastProbeTime: null status: “True” type: InPlace-Update containerStatuses: - image: nginx:1.12 name: demo-container ready: trued�U�StatefulSetPlus spec: batchDeployConfig: ���������������������������������PodTemplate.spec.volumes: - configMap: name: app_cm_v2 name: cmvolumeKube-apiserverStatefulSetPlus-operatorPodsPodsConfigmap V1CompletedPodsIf inplace update, auto reload new configmap without restart podbatch deploy by manual/autoCommit a comfigmap volume update Watch StatefulSetPlusUpdate event�����������������Batch 1Batch 2Kubelet VolumeManagerConfigmap V2Configmap V2Namespace: modelDerivedNameName: app_cm_v1Annotation: configmap-name:app_cm configmap-version: v1ConfigMapNamespace: modelDerivedNameName: app_cm_v2Annotation: configmap-name:app_cm configmap-version: v2ConfigMap•��������5�•��.�� ������P��������E��•��G������•��G�EB�����G���F�������•%���D���A����������h�i���•fn�� �D�D��E�•hVt� � +����������•ek�c � -����D�BBEAD•b��� +�B���A����E���B•Sg�� +����A�B�����gl��2��� ��711�1���1�E�1����AA�2�������1��1�������1�E�1����AA�2��� ���4��1���1�0��1��2�1��������� ��0���2�����/�1��4��1�E�1����AA������1�E�1����AA������1�E�1����AA�1��2�1���/7��2������711�1�������1�E�1����AA�������� ��������1�E�1����AA�������� ���������������������������� ���������21�42//�4�������21�42//�4��������������/��gl� � ����������� ���������������������������������������� �������������������T�� � �����S����StatefulSetPlus-Operatorinit-containerbiz-sidecar����������������Podbiz-pauseinit-containerbiz-sidecar����������������Podbiz-container:v2init-containerbiz-sidecarbiz-pausePodbiz-container:v2EmptyDir Volumeversion1=1version2=1filelock.lcEmptyDir Volumeversion1=1version2=2filelock.lcEmptyDir Volumeversion1=2version2=2filelock.lc���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������filelock.lcversion1=1filelock.lcversion2=1filelock.lcversion1=1filelock.lcversion2=2filelock.lcversion2=2filelock.lcversion1=2����������������������������������������������������������������������������������������������������������������������1. ��4���� ����3���� 2������� ��1����� ��CONTENTS��d�a�•�V�•���•���d�a����������Product 1 UsedProduct 2 UsedUnUsedProduct 3 PendingKube-Schedulerd�a�Dynamic Quota������P1 QuotaP2 QuotaPod UsedPod Used��������P1 QuotaP2 QuotaPod UsedPod UsedUnused�������P1 QuotaP2 QuotaPod UsedPod UsedUnusedTotalLeveld�a�Dynamic Quota�...
发表评论取消回复