建立容器服務的分批發布功能

2021-09-20 02:25:55 字數 3472 閱讀 2928

當前容器服務已經支援支援分批發布,詳細參考幫助文件:

但是控制台功能有限,目前有以下侷限:

控制台分批發布不能修改分批的批次數目,只能2批;

控制台分批發布不能設定拉取私有映象的 imagepullsecret,目前的設定不能儲存;

控制台分批發布不能設定關聯服務到已有的服務,對於從 deployment 遷移到分批發布功能不能滿足需求。

乙個分批發布任務只支援乙個服務,不能支援多個服務

以上問題可以通過 使用控制台結合kubectl 命令方式實現。

## 檢視指定命名空間的分批發布任務,不寫 -n引數表示 default

kubectl get batchrelease -n namespace

## 這時可以看到上一步建立的分批任務

## 修改分批批次數目

# vi 操作編輯以下內容

aliyun.batchnum: "2" ###修改批次數目

namespace: namespace

#修改完成 !wq 儲存退出即可

設定 statefulset secret (不推薦)

【有狀態副本集】: 檢視 yaml修改 yaml,增加 

imagepullsecrets:

- name: *********-***

此種方法在批量發布更新時,該 secret設定會被覆蓋丟失。

設定 serviceaccount的 imagepullsecret:

# 檢視 serviceaccount集合

kubectl get serviceaccount

##修改 serviceaccount值:

kubectl edit serviceaccount default

##增加 imagepullsecret設定:

imagepullsecrets:

- name: *********-***

# 將已有服務的 yaml使用 base64加密字串

kubectl get services sso-web-443 -o=yaml |base64

# 系統生成 base64加密字串

# 獲取加密串,編寫 secret的 yaml

vi sso-web-secret.yaml

apiversion: v1

kind: secret

type: opaque

metadata:

name: batchrelease-web-sso-443-svc.secret

data:

yaml: yxbpvmvyc2lvbjogdjeka2luzdogu2vy

## 長加密字串有換行注意去掉換行:

# 生成 secret:

kubectl create -f sso-web-secret.yaml

# 設定分批發布服務指向生成 secret的服務:

## 檢視分批任務

kubectl get batchrelease

name age

#​# 修改分批任務的 service指向上一步生成的 service secret

name: sso-web-443 ## 修改指向已有服務

namespace: default

status: success

statefulset:

name: batchrelease-sso-web-default-aone

namespace: default

status: success

## 檢視服務列表:

kubectl get services

kubectl edit services web-sso-443

apiversion: v1

kind: service

metadata:

creationtimestamp: 2018-08-16t03:53:47z

name: web-sso-443

namespace: default

resourceversion: "13881629"

selflink: /api/v1/namespaces/default/services/web-sso-443

uid: fa77c1b2-a107-11e8-8978-00163e010d3c

spec:

clusterip: 172.27.4.19

externaltrafficpolicy: cluster

ports:

- nodeport: 30576

port: 443

protocol: tcp

targetport: 9090

selector:

aliyun.version: "8"

sessionaffinity: none

type: loadbalancer

status:

loadbalancer:

ingress:

- ip: 39.107.21.32

最後刪除不再使用的原有 deployment,服務等,完成分批發布.

詳解Docker建立支援ssh服務的容器和映象

1.這裡使用的centos作為容器,所以首先 centos的images sudo docker pull centos 2.後執行乙個centos的容器,這裡使用centos6作為我測試的容器 sudo docker run name centos ssh i t centos centos6 b...

Docker建立支援ssh服務的容器和映象

sudo docker pull centos sudo docker run name centos ssh i t centos centos6 bin bash 3.安裝openssh server服務軟體包 yum install openssh server 4.編輯sshd的配置檔案 e...

Docker建立支援ssh服務的容器和映象

sudo docker pull centos sudo docker run name centos ssh i t centos centos6 bin bash 3.安裝openssh server服務軟體包 yum install openssh server 4.編輯sshd的配置檔案 e...