Kubernetes Harbor等資源--secret和ServiceAccount配置

Kubernetes Harbor等資源--secret和ServiceAccount配置

Kubernetes Harbor等資源--secret和ServiceAccount配置![]
來啦,老弟
##########

用途

secret對象類型主要目的是保存和處理敏感信息/私密數據。將這些信息放在secret對象中比 直接放在pod或docker image中更安全,也更方便使用。在一個已經創建好的secrets對象有兩種方式被pod對象使用,其一,在container中的volume對象裏以file的形式被使用,其二,在pull images時被kubelet使用。

####
####
####
####
實操

(1)
執行login命令,登錄私有Registry
[root@master-k8s-63 source]#docker login -u admin -p Harbor repository.xxxx.com (輸入賬戶及密碼,如果是第1次登錄則會創建新用戶,並把相關信息寫入~/.docker/config.json 文件中)

#####
#####
(2)
用BASE64編碼dockercfg的內容
[root@master-k8s-63 source]# cat /root/.docker/config.json | base64 -w 0
ewoJImF1dGhzIjogewoJCSJiYXNpYy1yZXBvc2l0b3J5LnNrb25nLmNvbSI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTR0Z5WW05eU1USXpORFUyIgoJCX0sCgkJInJlcG9zaXRvcnkuc2tvbmcuY29tIjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVTIiCgkJfQoJfQp9
(-w 0 是輸出一行的意思)
#####
#####
(3)
將上一步命令的輸出結果作爲Secret的“data.dockercfg”域的內容,由此來創建一個Secret。我試驗不好用,之後我該用:
1.
[root@master-k8s-63 images_cert]# cat secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: kubesystemsecret
namespace: default
data:
.dockerconfigjson: ewoJImF1dGhzIjogewoJCSJiYXNpYy1yZXBvc2l0b3J5LnNrb25nLmNvbSI6IHsKCQkJImF1dGgiOiAiWVdSdGFXNDZTR0Z5WW05eU1USXpORFUyIgoJCX0sCgkJInJlcG9zaXRvcnkuc2tvbmcuY29tIjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVTIiCgkJfQoJfQp9
type: kubernetes.io/dockerconfigjson
#####
#####
Kubernetes Harbor等資源--secret和ServiceAccount配置
2、
[root@master-k8s-63 source]#kubectl create secret basic-repository secret-name --namespace=default --docker-server=https://basic-repository.xxxx.com --docker-username=admin --docker-password=Harbor [email protected] (本身就可以使用)
#####
#####
3、
[root@jenkins-master templet]# cat templet.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: projectname-environment-deployment
spec:
replicas: 2
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
labels:
app: projectname-environment-pod
spec:
terminationGracePeriodSeconds: 60
containers:

  • name: projectname-environment-pod
    image: basic-repository.xxxx.com/x'x'x'x/projectname-environment:branch
    ports:
    • containerPort: 80
      imagePullSecrets:
  • name: kubesystemsecret

apiVersion: v1
kind: Service
metadata:
name: projectname-environment-service
labels:
app: projectname-environment-service
spec:
type: NodePort
ports:

  • port: 80
    protocol: TCP
    targetPort: 80
    selector:
    app: projectname-environment-pod

#####
Kubernetes Harbor等資源--secret和ServiceAccount配置

#####

Kubernetes Harbor等資源--secret和ServiceAccount配置

點一下動圖

Kubernetes Harbor等資源--secret和ServiceAccount配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章