当前位置: 首页 > news >正文

2015微信网站html5 网站开发软件

2015微信网站,html5 网站开发软件,网站域名在哪里申请,网站不备案可以做微信小程序么华子目录 2.secrets2.1secrets功能介绍2.2secrets的创建2.2.1从文件创建2.2.2编写yaml文件 2.3secret的使用案例2.3.1将secret挂载到volume中2.3.2设置子目录映射secret密钥2.3.3将secret设置为环境变量2.3.4存储docker register的认证信息spec.imagePullSecrets[] 2.secrets … 华子目录 2.secrets2.1secrets功能介绍2.2secrets的创建2.2.1从文件创建2.2.2编写yaml文件 2.3secret的使用案例2.3.1将secret挂载到volume中2.3.2设置子目录映射secret密钥2.3.3将secret设置为环境变量2.3.4存储docker register的认证信息spec.imagePullSecrets[] 2.secrets 2.1secrets功能介绍 secret对象类型用来保存敏感信息如密码Oauth令牌和ssh key 敏感信息放在secret中比放在Pod的定义或者容器镜像中来说更加安全和灵活 Pod可以用两种方式使用secret 作为volume中的文件被挂载到pod中的一个或者多个容器里当kubelet为pod拉取镜像时使用 secret的类型 Service AccountKubernetes自动创建包含访问api凭据的secret并自动修改pod以使用此类型的secretOpaque使用base64编码存储信息可以通过base64 --decode解码获得原始数据因此安全性弱。kubernetes.io/dockerconfigjson用于存储docker registry的认证信息 [rootk8s-master ~]# mkdir secret [rootk8s-master ~]# cd secret/2.2secrets的创建 在创建secrets时我们可以使用create命令的方式创建或者yaml文件的方式创建 #secret有3中类型 [rootk8s-master secret]# kubectl create secret docker-registry (创建一个给 Docker registry 使用的 Secret) generic (Create a secret from a local file, directory, or literal value) tls (创建一个 TLS secret)2.2.1从文件创建 先创建文件 #-n取消换行 [rootk8s-master secret]# echo -n huazi username.txt [rootk8s-master secret]# echo -n 12345 password.txt [rootk8s-master secret]# ls password.txt username.txt#创建一个名为userlist的generic类型的secret资源 [rootk8s-master secret]# kubectl create secret generic userlist --from-file username.txt --from-file password.txt secret/userlist created#查看 [rootk8s-master secret]# kubectl get secrets NAME TYPE DATA AGE userlist Opaque 2 3m13s[rootk8s-master secret]# kubectl describe secrets userlist Name: userlist Namespace: default Labels: none Annotations: noneType: OpaqueDatapassword.txt: 5 bytes username.txt: 5 bytes#以yaml格式查看我们发现文件名作为了键文件内容作为了值 [rootk8s-master secret]# kubectl get secrets userlist -o yaml apiVersion: v1 data:password.txt: MTIzNDUusername.txt: aHVhemk kind: Secret metadata:creationTimestamp: 2024-11-02T10:40:13Zname: userlistnamespace: defaultresourceVersion: 811492uid: 198d8aae-b738-4289-bb67-3d23c94ba909 type: Opaque2.2.2编写yaml文件 #先将内容做base64编码 [rootk8s-master secret]# echo -n huazi | base64 aHVhemk [rootk8s-master secret]# echo -n 12345 | base64 MTIzNDU#创建一个名为userlist1的generic类型的secret资源 [rootk8s-master secret]# kubectl create secret generic userlist1 --dry-runclient -o yaml secret-generic.yml[rootk8s-master secret]# vim secret-generic.yml [rootk8s-master secret]# cat secret-generic.yml apiVersion: v1 kind: Secret metadata:name: userlist1 type: Opaque data:username: aHVhemkpassword: MTIzNDU[rootk8s-master secret]# kubectl apply -f secret-generic.yml secret/userlist1 created[rootk8s-master secret]# kubectl get secrets NAME TYPE DATA AGE userlist Opaque 2 11m userlist1 Opaque 2 56s [rootk8s-master secret]# kubectl describe secrets userlist1 Name: userlist1 Namespace: default Labels: none Annotations: noneType: OpaqueDatapassword: 5 bytes username: 5 bytes[rootk8s-master secret]# kubectl get secrets userlist1 -o yaml apiVersion: v1 data:password: MTIzNDUusername: aHVhemk kind: Secret metadata:annotations:kubectl.kubernetes.io/last-applied-configuration: |{apiVersion:v1,data:{password:MTIzNDU,username:aHVhemk},kind:Secret,metadata:{annotations:{},name:userlist1,namespace:default},type:Opaque}creationTimestamp: 2024-11-02T10:50:32Zname: userlist1namespace: defaultresourceVersion: 812512uid: b29dc86a-d8f6-4eb3-88ea-11eb3fb707e0 type: Opaque2.3secret的使用案例 #查看名为userlist1的secret类型 [rootk8s-master ~]# kubectl describe secrets userlist1 Name: userlist1 Namespace: default Labels: none Annotations: noneType: OpaqueDatapassword: 5 bytes username: 5 bytes #发现有两个键值对一个password一个username2.3.1将secret挂载到volume中 #创建自主式pod去使用userlist1 [rootk8s-master secret]# vim pod1.yml [rootk8s-master secret]# cat pod1.yml apiVersion: v1 kind: Pod metadata:labels:run: testpodname: testpod spec:containers:- image: busyboxplusname: busyboxpluscommand: [/bin/sh,-c,sleep 10000]volumeMounts: ##这是一个列表定义了Pod中容器要挂载的卷。- name: secret-volume # #指定了要挂载的卷的名称这个名称必须与volumes列表中定义的某个卷的名称相匹配。mountPath: /secret ##卷在容器内的挂载路径。readOnly: true #/secret这个目录只读权限volumes: #定义了Pod中可以使用的卷- name: secret-volume #定义了卷的名称这个名称将在volumeMounts中被引用secret: #表示这个卷是由一个secrets支持的secretName: userlist1 #指定了secrets的名称为userlist1[rootk8s-master secret]# kubectl apply -f pod1.yml pod/testpod created[rootk8s-master secret]# kubectl describe pods testpod[rootk8s-master secret]# kubectl exec -it pods/testpod -- /bin/sh / # ls bin etc lib linuxrc mnt proc run secret tmp var dev home lib64 media opt root sbin sys usr / # cd secret/ /secret # ls password username /secret # ls -l total 0 lrwxrwxrwx 1 root root 15 Nov 3 02:29 password - ..data/password lrwxrwxrwx 1 root root 15 Nov 3 02:29 username - ..data/username /secret # cat username huazi /secret # cat password 12345我们发现userlist1中的键变成了文件名值变成了文件内容其中文件是一个软连接文件 #回收 [rootk8s-master secret]# kubectl delete -f pod1.yml pod testpod deleted2.3.2设置子目录映射secret密钥 [rootk8s-master secret]# vim pod2.yml [rootk8s-master secret]# cat pod2.yml apiVersion: v1 kind: Pod metadata:labels:run: testpodname: testpod spec:containers:- image: busyboxplusname: busyboxpluscommand: [/bin/sh,-c,sleep 10000]volumeMounts: #Pod中容器要挂载的卷- name: secret-volume #挂载的卷的名称这个名称必须与volumes列表中定义的某个卷的名称相匹配。mountPath: /secret #容器中的挂载目录readOnly: true #只读volumes: #声明pod的数据卷- name: secret-volume #数据卷的名字为secret-volumesecret: #表示这个卷是由一个secrets支持的secretName: userlist1 #指定了secrets的名称为userlist1items:- key: username1path: users/username #username为userlist1中的键会变为文件名值会变为文件内容- key: password1path: auth/password #password为userlist1中的键会变为文件名值会变为文件内容users和auth是/secret下的子目录子目录下分别有名为username和password的文本文件 [rootk8s-master secret]# kubectl apply -f pod2.yml pod/testpod created[rootk8s-master secret]# kubectl describe pods testpod[rootk8s-master secret]# kubectl exec -it pods/testpod -- /bin/sh / # ls bin etc lib linuxrc mnt proc run secret tmp var dev home lib64 media opt root sbin sys usr / # cd secret/ /secret # ls auth users /secret # cd auth/ /secret/..2024_11_03_02_57_47.438164553/auth # ls password /secret/..2024_11_03_02_57_47.438164553/auth # ls -l total 4 -rw-r--r-- 1 root root 5 Nov 3 02:57 password /secret/..2024_11_03_02_57_47.438164553/auth # cat password 12345/secret/..2024_11_03_02_57_47.438164553/users # cat username huazi#回收 [rootk8s-master secret]# kubectl delete -f pod2.yml pod testpod deleted2.3.3将secret设置为环境变量 [rootk8s-master secret]# vim pod3.yml [rootk8s-master secret]# cat pod3.yml apiVersion: v1 kind: Pod metadata:labels:run: testpodname: testpod spec:containers:- image: busyboxplusname: busyboxpluscommand: [/bin/sh,-c,env]env:- name: Username #容器中的环境变量名valueFrom: #指定环境变量值的来源secretKeyRef: #表示环境变量的值是从一个secret中获取的name: userlist1 #secret资源的名字key: username #在指定的secret中username键对应的值将用作环境变量Username的值- name: Password #容器中的环境变量名valueFrom: #指定环境变量值的来源secretKeyRef: #表示环境变量的值是从一个secret中获取的name: userlist1 #secret资源的名字key: password #在指定的secret中password键对应的值将被用作环境变量Password的值restartPolicy: Never[rootk8s-master secret]# kubectl apply -f pod3.yml pod/testpod created [rootk8s-master secret]# kubectl get pods NAME READY STATUS RESTARTS AGE testpod 0/1 Completed 0 7s [rootk8s-master secret]# kubectl logs pods/testpod -c busyboxplus KUBERNETES_SERVICE_PORT443 KUBERNETES_PORTtcp://10.96.0.1:443 HOSTNAMEtestpod SHLVL1 HOME/ Usernamehuazi #我们发现了创建的环境变量 KUBERNETES_PORT_443_TCP_ADDR10.96.0.1 PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin KUBERNETES_PORT_443_TCP_PORT443 KUBERNETES_PORT_443_TCP_PROTOtcp Password12345 #我们发现了创建的环境变量 KUBERNETES_PORT_443_TCPtcp://10.96.0.1:443 KUBERNETES_SERVICE_PORT_HTTPS443 PWD/ KUBERNETES_SERVICE_HOST10.96.0.1#回收 [rootk8s-master secret]# kubectl delete -f pod3.yml --force2.3.4存储docker register的认证信息spec.imagePullSecrets[] 在做这个案例之前我们先介绍一下docker的公有仓库和私有仓库 公有仓库上传镜像需要认证下载镜像不需要认证私有仓库上传和下载都需要认证 先在harbor上创建一个私有仓库 因为node1主机上我们之前做过认证这里我们先退出登录 [rootk8s-node1 ~]# docker logout harbor.huazi.org Removing login credentials for harbor.huazi.orgnode2做过认证在node2上传myapp:v1镜像到huazi这个私有仓库中 [rootk8s-node2 ~]# docker images myapp v1 d4a5e0eaa84f 6 years ago 15.5MB[rootk8s-node2 ~]# docker tag myapp:v1 harbor.huazi.org/huazi/myapp:v1 [rootk8s-node2 ~]# docker push harbor.huazi.org/huazi/myapp:v1 The push refers to repository [harbor.huazi.org/huazi/myapp] a0d2c4392b06: Pushed 05a9e65e2d53: Pushed 68695a6cfd7d: Pushed c1dc81a64903: Pushed 8460a579ab63: Pushed d39d92664027: Pushed v1: digest: sha256:9eeca44ba2d410e54fccc54cbe9c021802aa8b9836a0bcf3d3229354e4c8870e size: 1569验证node1上是否退出成功 #发现下载私有仓库中的myapp:v1镜像失败说明退出成功 [rootk8s-node1 ~]# docker pull harbor.huazi.org/huazi/myapp:v1 Error response from daemon: unauthorized: unauthorized to access repository: huazi/myapp, action: pull: unauthorized to access repository: huazi/myapp, action: pull创建名为docker-auth的类型为docker-registry的secret资源 #创建名为docker-auth的类型为docker-registry的secret资源 [rootk8s-master secret]# kubectl create secret docker-registry \docker-auth \ #secret名字--docker-server harbor.huazi.org \ --docker-username admin \--docker-password 123456 \--docker-email huazihuazi.org secret/docker-auth created#查看创建的docker-auth [rootk8s-master secret]# kubectl get secrets NAME TYPE DATA AGE docker-auth kubernetes.io/dockerconfigjson 1 112s userlist Opaque 2 17h userlist1 Opaque 2 17h[rootk8s-master secret]# kubectl describe secrets docker-auth Name: docker-auth Namespace: default Labels: none Annotations: noneType: kubernetes.io/dockerconfigjsonData.dockerconfigjson: 123 bytes创建pod去使用名为docker-auth的secret资源 [rootk8s-master secret]# vim pod4.yml [rootk8s-master secret]# cat pod4.yml apiVersion: v1 kind: Pod metadata:labels:run: testpodname: testpod spec:nodeSelector:kubernetes.io/hostname: k8s-node1.org #指定让它在node1上运行containers:- image: harbor.huazi.org/huazi/myapp:v1 #指定拉取的镜像是huazi这个私有仓库的name: myappv1 # imagePullSecrets: #我们先把这里注释了 # - name: docker-auth[rootk8s-master secret]# kubectl apply -f pod4.yml pod/testpod created#我们发现这里的状态是ErrImagePull表示镜像拉取失败 [rootk8s-master secret]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES testpod 0/1 ErrImagePull 0 6s 10.244.1.13 k8s-node1.org none none#回收 [rootk8s-master secret]# kubectl delete -f pod4.yml pod testpod deleted再去掉注释 [rootk8s-master secret]# vim pod4.yml [rootk8s-master secret]# cat pod4.yml apiVersion: v1 kind: Pod metadata:labels:run: testpodname: testpod spec:nodeSelector:kubernetes.io/hostname: k8s-node1.orgcontainers:- image: harbor.huazi.org/huazi/myapp:v1 #指定拉取的镜像是huazi这个仓库的name: myappv1imagePullSecrets:- name: docker-auth#发现运行成功说明node1上已经成功拉取了私有 [rootk8s-master secret]# kubectl get pods -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES testpod 1/1 Running 0 7s 10.244.1.14 k8s-node1.org none none#我们发现node1已经成功拉取了私有仓库中myapp:v1这个镜像 [rootk8s-node1 ~]# docker images harbor.huazi.org/huazi/myapp v1 d4a5e0eaa84f 6 years ago 15.5MBimagePullSecrets是一个在Kubernetes中用于配置Pod以拉取私有Docker镜像的字段。当你在Kubernetes集群中部署应用时如果应用依赖于存储在私有Docker仓库中的镜像你就需要配置imagePullSecrets来确保Kubernetes能够访问这些私有镜像
http://www.w-s-a.com/news/370809/

相关文章:

  • python怎么做网站贵阳网站制作
  • 深圳网站的优化seo网络推广有哪些
  • 网站建设实习报告范文荆州市城市建设档案馆网站
  • 网站开发信息平台项目总结企业网站如何推广
  • 网站备案名称规定手机免费h5制作软件
  • 接网站建设单子的网站网页设计尺寸多大
  • 订制型网站费用做网站的问题
  • 淮阳住房和城乡建设网站桂林新闻桂林人论坛
  • 公司网站建设价格标准老版本网站开发工具
  • 门户网站开发费怎做账做网站交互demo工具
  • 中山最好的网站建设黄村网站建设价格
  • 企业网站首页应如何布局互联网营销师证书报名入口
  • 绍兴做网站哪家好篮球网站设计
  • 鹤岗市城乡建设局网站西域电商平台官网
  • 外贸网网站建设蓝色管理系统网站模版
  • 网站服务器关闭阿里巴巴logo
  • 青岛 网站制作公司乐从网站制作
  • wordpress 微网站模板怎么用wordpress 文档下载
  • ppt网站建设的目的合肥做网站找哪家好
  • wordpress站点路径redis缓存wordpress
  • 专门设计网站的公司叫什么百度 门户网站
  • 网站建设丶金手指专业旅游网站系统哪个好
  • 苏州工业园区两学一做网站成都企业排名
  • 医药网站开发wordpress境外支付
  • 营销自己的网站网站如何做标题优化
  • 玖云建站系统wordpress nodejs版本
  • 网站开发费用计入什么二级科目重庆企业网站推广
  • wordpress 菜单怎么使用方法宜春网站推广优化
  • dede 网站图标怎么自学建筑设计
  • 河北斯皮尔网站建设做微信小程序和做网站