當前容器服務已經支援支援分批發布,詳細參考幫助文件:
但是控制台功能有限,目前有以下侷限:
控制台分批發布不能修改分批的批次數目,只能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...