k8s往secret里导入证书_k8s获取私有仓库之secret从原理到实践
前面的话在master上面创建一个secret,写在deploy的yaml里面,部署的时候,先由master权衡在哪个节点去部署,哪个节点就回去pull那个image(假如不存在这个镜像的话),所以每个节点要先去login我们的私库,这个操作可以由ansible去完成。secret存储的是一些加密过的账号密码,不在yaml里面泄漏代码在master上创建一个secret创建一个secret这里要注
前面的话
在master上面创建一个secret,写在deploy的yaml里面,部署的时候,先由master权衡在哪个节点去部署,哪个节点就回去pull那个image(假如不存在这个镜像的话),所以每个节点要先去login我们的私库,这个操作可以由ansible去完成。
secret存储的是一些加密过的账号密码,不在yaml里面泄漏代码
在master上创建一个secret
创建一个secret
这里要注意namespace的指定
# kubectl create secret -n namespace docker-registry --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
[root@k8s-master yml]# kubectl create secret docker-registry myregistrykey --docker-server=https://hub.我的仓库地址.cn --docker-username=用户 --docker-password=密码 --docker-email=我的邮箱
secret/myregistrykey created
myregistrykey 是自定义的仓库secret名字,应该取一个有意义的名字,可以按照项目的名字来命名
查看当前有哪些secret
[root@k8s-master yml]# kubectl get secrets
NAME TYPE DATA AGE
default-token-svpvx kubernetes.io/service-account-token 3 23d
myregistrykey kubernetes.io/dockerconfigjson 1 13s
serect存储的是什么?
一步一步来看
[root@k8s-master yml]# kubectl get secret myregistrykey -o yaml
apiVersion: v1
data:
.dockerconfigjson: eyJhdXRocyI6eyJodHRwczovL2h1Yi53ZW55aW5odWxpYW4uY24iOnsidXNlcm5hbWUiOiJhZG1pbiIsInBhc3N3b3JkIjoiTWVtZWN0ODg4QDEyMyIsImVtYWlsIjoibGlqaW5naHVhQG1lbWVjdC5jbyIsImF1dGgiOiJZV1J0YVc0NlRXVnRaV04wT0RnNFFERXlNdz09In19fQ==
kind: Secret
metadata:
creationTimestamp: "2019-06-06T05:30:01Z"
name: myregistrykey
namespace: default
resourceVersion: "2789857"
selfLink: /api/v1/namespaces/default/secrets/myregistrykey
uid: 2178095c-881c-11e9-8457-000c29dba709
type: kubernetes.io/dockerconfigjson
[root@k8s-master yml]# echo eyJhdXRocyI6eyJodHRwczovL2h1Yi53ZW55aW5odWxpYW4uY24iOnsidXNlcm5hbWUiOiJhZG1pbiIsInBhc3N3b3JkIjoiTWVtZWN0ODg4QDEyMyIsImVtYWlsIjoibGlqaW5naHVhQG1lbWVjdC5jbyIsImF1dGgiOiJZV1J0YVc0NlRXVnRaV04wT0RnNFFERXlNdz09In19fQ== |base64 -d ; echo
{"auths":{"https://hub.我的仓库地址.cn":{"username":"admin","password":"我的密码","email":"你的邮箱","auth":"YWRtaW46TWVtZWN0ODg4QDEyMw=="}}}
在dashbord的展示
deploy.yaml
省略部分内容
apiVersion: apps/v1
# 当前配置格式的版本
kind: Deployment
··· 省略 ·····
ports:
- containerPort: 8080
imagePullSecrets:
- name: myregistrykey
本文由 李阿斗创作 旅途愉快~ 我的主页 ( ̄▽ ̄)
最后编辑时间为:
2019/08/02 17:27
更多推荐
所有评论(0)