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

如何做淘客网站wordpress收不到注册邮件

如何做淘客网站,wordpress收不到注册邮件,做公众号的网站模板下载,国际新闻最新消息今天新闻大事件 中方目录 一、ConfigMap 1、概念#xff1a; 2、作用#xff1a; 3、ConfigMap使用 4、如何将这些configmap对象与 Pod 一起使用。 5、把configMap挂载到容器中充当配置文件 二、Secret 1、创建Secret 2、如何使用Secret 三、总结#xff1a; 一、ConfigMap 1、概念 2、作用 3、ConfigMap使用 4、如何将这些configmap对象与 Pod 一起使用。 5、把configMap挂载到容器中充当配置文件 二、Secret 1、创建Secret 2、如何使用Secret 三、总结 一、ConfigMap 1、概念 是k8s的一种资源对象可以将配置一key-value的形式传递用来保存不需要加密的配置信息使用时Pod可以将其用作环境变量、命令行参数或者存储卷中的配置文件如果想保存需要加密的数据使用Secret 2、作用 使用ConfigMap将配置数据和应用程序代码分开 3、ConfigMap使用 官网示例k8s-configMap 创建方式可以使用kuberctl create configmap 命令基于目录、文件、或者键值对来创建ConfigMap 基于键值对创建ConfigMap即命令行指定ConfigMap参数。使用 --from-liternal基于指定文件创建即将一个配置文件创建为一个ConfigMap使用 --from-file(file)基于指定目录创建即将一个目录下所有配置文件创建为一个ConfigMap使用 --from-file(Directory)基于指定写好的ConfigMap资源的yaml文件使用 kubectl create -f 创建 1、通过目录创建configMap先创建目录 [rootk8s-master-1 test]# mkdir -p configmap/configure-pod-container/configmap/将示例文件下载到目录下 wget https://kubernetes.io/examples/configmap/game.properties --no-check-certificate -O /k8s/kubernetes/cfg/test/configmap/configure-pod-container/configmap/game.properties wget https://kubernetes.io/examples/configmap/ui.properties --no-check-certificate -O /k8s/kubernetes/cfg/test/configmap/configure-pod-container/configmap/ui.properties#创建ConfigMap [rootk8s-master-1 configmap]# kubectl create configmap game-config --from-file/k8s/kubernetes/cfg/test/configmap/configure-pod-container/configmap/ \configmap/game-config created[rootk8s-master-1 configmap]# kubectl get cm NAME DATA AGE game-config 2 11s可以看到刚才两个文件的内容被写到configmap里就可以把configmap挂在到容器里使用[rootk8s-master-1 configmap]# kubectl describe cm game-config Name: game-config Namespace: default Labels: none Annotations: noneDatagame.properties: ---- enemiesaliens lives3 enemies.cheattrue enemies.cheat.levelnoGoodRotten secret.code.passphraseUUDDLRLRBABAS secret.code.allowedtrue secret.code.lives30 ui.properties: ---- color.goodpurple color.badyellow allow.textmodetrue how.nice.to.lookfairlyNiceEvents: none2、------通过单个文件创建configMap-----[rootk8s-master-1 configmap]# kubectl create cm game-ui-cm --from-file/k8s/kubernetes/cfg/test/configmap/configure-pod-container/configmap/ui.properties configmap/game-ui-cm created[rootk8s-master-1 configmap]# kubectl get cm NAME DATA AGE game-config 2 10m game-ui-cm 1 12s#创建成功可以看到configmap里只有ui的配置内容 [rootk8s-master-1 configmap]# kubectl describe cm game-ui-cm 也可以使用[rootk8s-master-1 configmap]# kubectl get cm game-config -oyaml查看 Name: game-ui-cm Namespace: default Labels: none Annotations: noneDataui.properties: ---- color.goodpurple color.badyellow allow.textmodetrue how.nice.to.lookfairlyNice可以修改data部分的键名--from-file我的键名文件路径如果不指定名称是按照文件名来命名的。kubectl create cm game-ui-cm --from-fileui-pro/k8s/kubernetes/cfg/test/configmap/configure-pod-container/configmap/ui.properties3、----也可以通过env环境变量来创建使用 --from-env-file 创建 在k8s1.23版本之前使用多指定--from-env-file 创建的话第二个文件会把第一个文件的env替换调 1.23版本之后就会叠加到一起不在被替换调。再此不做演示可以查看官网示例4、------基于写好的ConfigMao文件创建configmap------# 创建包含 ConfigMapGenerator 的 kustomization.yaml 文件[rootk8s-master-1 configmap]# vim kustomization.yaml configMapGenerator: - name: game-config-4labels:game-config: config-4files:- configure-pod-container/configmap/game.properties或者指定一个键名比如名为 asd-asdconfigure-pod-container/configmap/game.properties 使用 kubectl apply -f . 来创建5、------ 基于字面创建configmap ------ [rootk8s-master-1 configmap]# vim kustomization.yamlconfigMapGenerator:- name: special-config-2literals:- special.howvery- special.typecharm6、基于键值对创建 使用--from-literal参数指定键值对内容可以有多个 语法 kubectl create cm cm_name --from-literalkey1valus1 --from-literalkey2value2 示例kubectl create cm cm_name --from-literalprot3306 --from-literalhostnameroot7、清理configmap [rootk8s-master-1 configmap]# kubectl delete configmap game-config-env-file4、如何将这些configmap对象与 Pod 一起使用。 1、#示例 #通过命令行方式先创建一个configmap使用参数--from-literal [rootk8s-master-1 configmap]# kubectl create configmap special-config --from-literalspecial.howvery configmap/special-config created2、#创建一个包含多个键值对的 ConfigMap。 apiVersion: v1kind: ConfigMapmetadata:name: special-confignamespace: defaultdata:SPECIAL_LEVEL: verySPECIAL_TYPE: charm------------使用envFrom 将所有 ConfigMap 的数据定义为容器环境变量ConfigMap 中的键成为 Pod 中的环境变量名称 apiVersion: v1kind: Podmetadata:name: dapi-test-podspec:nodeName: k8s-node-2 #指定到node-2节点containers:- name: test-containerimage: busyboximagePullPolicy: IfNotPresentcommand: [ /bin/sh, -c, env ]envFrom:- configMapRef:name: special-config #configMap 名称env: - - - #或者在pod中直接定义环境变量 - - - - name: testvalue: test-value- name: mysqlHostvalue: 10.10.10.10- name: portvalue: 3306restartPolicy: Never创建完成查看日志就可以看到输出一下环境变量[rootk8s-master-1 configmap]# kubectl logs -f dapi-test-pod SPECIAL_LEVELvery SPECIAL_TYPEcharm testtest-value mysqlHost10.10.10.10 port3306 5、把configMap挂载到容器中充当配置文件 在 Pod 规约的 volumes 部分下添加 ConfigMap 名称。 这会将 ConfigMap 数据添加到 volumeMounts.mountPath 所指定的目录 在本例中为 /etc/config。 command 部分列出了名称与 ConfigMap 中的键匹配的目录文件。 1、使用上边的configMap2、创建pod env的多种编写方式[rootk8s-master-1 configmap]# vim pod-config-volume.yaml apiVersion: v1 kind: Pod metadata:name: dapi-test-pod spec:nodeName: k8s-node-2containers:- name: test-containerimage: busybox:1.28.4imagePullPolicy: IfNotPresentcommand: [ sleep, 3600 ]volumeMounts:- name: config-volume #这个是下边自定义的volumes的名字mountPath: /mnt- name: xxx mountPath: /mntenvFrom:- configMapRef:name: special-configenv:#定义环境变量- name: SPECIAL_LEVEL # 请注意这里和 ConfigMap 中的键名是不一样的valueFrom:configMapKeyRef:name: special-config # 这个值来自 ConfigMapkey: special_level- name: SPECIAL_TYPE # 请注意这里和 ConfigMap 中的键名是不一样的valueFrom:configMapKeyRef:name: special-config # 这个值来自 ConfigMapkey: special_type env:- name: testvalue: test-value- name: mysqlHostvalue: 10.10.10.10- name: portvalue: 3306restartPolicy: Nevervolumes:- name: config-volume #自定义configMap:name: special-config # 提供你想要挂载的 ConfigMap 的名字#将 ConfigMap 数据添加到卷中的特定路径,在这里ConfigMap 中键 SPECIAL_LEVEL 的内容将挂载在 config-volume 卷中 /mnt/keys 文件中。items:- key: SPECIAL_LEVELpath: keys #可以挂载多个- name: config-volume2 #自定义configMap:name: xxx[rootk8s-master-1 configmap]# kubectl apply -f pod-config-volume.yaml pod/dapi-test-pod created#创建完成进入容器查看 [rootk8s-master-1 configmap]# kubectl exec -it dapi-test-pod sh / # cd mnt/ /mnt # cat SPECIAL_TYPE charm/mnt #显示的是SPECIAL_TYPE 的值 二、Secret Secret用于存储和管理一些敏感数据它把想要访问的加密数据存放到Etcd中然后用户就可以通过在Pod的容器里挂载Volume的方式或者环境变量的方式访问到这些Secret里保存的信息了。 类型3种 Opaque使用base64编码存储信息可以通过base64 --decode解码获得原始数据因此安全性弱kubernetes.io/dockerconfigjson用于存储docker registry的认证信息kubernetes.io/service-account-token用于被serviceaccount引用serviceaccount创建时kubernetes会默认创建对应的secret。Pod如果使用了serviceaccount对应的secret会自动挂载到Pod的 /run/secrets/kubernetes.io/serviceaccount 目录中 Secret 特殊字符处理 特殊字符例如 $、\、*、 和 !因此需要转义。在大多数 Shell 中对密码进行转义的最简单方式是用单引号将其括起来 例如passwordS!B\*d$zDsb无需转义 或者使用转义字符\ :passwordS!B\\\*d\$zDsb 1、创建Secret #创建Secret的几种方式 generic通用的一般的加密方式1、使用命令创建 --from-literal kubectl create secret generic mysecret1 --from-literalusernameadmin --from-literalpassword123456 [rootk8s-master-1 secret]# kubectl get secret NAME TYPE DATA AGE default-token-6xh94 kubernetes.io/service-account-token 3 41d mysecret1 Opaque 2 7s #查看yaml文件可以看到已加密 [rootk8s-master-1 secret]# kubectl get secret mysecret1 -oyaml apiVersion: v1 data:password: MTIzNDU2username: YWRtaW42、通过from-file文件创建 [rootk8s-master-1 secret]# echo -n admin ./username.txt [rootk8s-master-1 secret]# [rootk8s-master-1 secret]# echo -n 123456 ./password.txt [rootk8s-master-1 secret]# kubectl create secret generic mysecret2 --from-fileusername.txt --from-filepassword.txt secret/mysecret2 created #创建成功 结果同上3、通过--from-env-file创建 创建一个文件写入信息 [rootmaster secret]#vim env.txt usernameadmin password123456 [rootk8s-master-1 secret]# kubectl create secret generic mysecret3 --from-env-fileenv.txt secret/mysecret3 created #创建成功查询结果同上4、通过yaml文件创建4.1把需要保存的数据加密[rootk8s-master-1 secret]# echo admin |base64YWRtaW4K4.2编写secret 的yaml文件。如果你不希望执行 base64 编码转换可以使用 stringData 字段代替如果同时写了data和stringData,则stringData的优先级高data会被忽略 [rootk8s-master-1 secret]# vim mysecret4.yaml apiVersion: v1kind: Secretmetadata:name: mysecret4data:username: YWRtaW4password: MTIzNDU2 #或者使用stringDatastringData:username: adminpassword: 123456 #注意一定要加引号不然报错规范问题 2、如何使用Secret 1、以volume挂载的方式使用Secret Secret可以作为数据卷挂载或者作为环境变量暴露给Pod中的容器使用也可以被系统中的其他资源使用。 在Pod中以文件形式使用secret1、创建一个Secret多个Pod可以应用一个Secret2、修改Pod的定义在spec.volumes[]加一个volume给这个volume起个名字spec.volumes[].volume.secretName记录的是要引用Secret的名字3、在每个需要使用Secret的容器中添加一项spec.containers[].columeMounts[],指定spec.containers[].volumeMounts[].readOnlytrue,spec.containers[].columeMounts[].mountPath要指向一个未被使用的系统路径4、修改镜像或者命令行使系统可以找到上一步指定的路径此时Secret中data字段的每一个key都是指定路径下的一个文件名创建yaml文件 apiVersion: v1 kind: Pod metadata:name: secret-test-pod spec:nodeName: k8s-node-2containers:- name: test-containerimage: busybox:1.28.4imagePullPolicy: IfNotPresentcommand: [ /bin/sh, -c, sleep 3600 ]volumeMounts:- name: secret-test #这个是自定义的volumes的名字mountPath: /mntreadOnly: true #是否只读restartPolicy: Nevervolumes:- name: secret-test #自定义secret:secretName: mysecret2 #要使用的Secret名字[rootk8s-master-1 secret]# kubectl apply -f secret-pod.yaml 创建完成 进入容器在/mnt下就可以看到两个文件 /mnt # ls password.txt username.txt#测试是否为只读 /mnt # echo admin username.txt sh: cant create username.txt: Read-only file system1.1 自定义容器中的目录 volumes: - name: secret-test #自定义secret:secretName: mysecret2 #要使用的Secret名字items:- key: usernamepath: my-group/my-username #自定义的容器中的目录- key: passwordpath: my-group/my-password #自定义的容器中的目录 1.2 如果现在将secret资源内保存的数据进行更新那么使用次数据的应用内数据是否也会被更新会实时更新示例更新mysecret2文件把密码改成admin然后在进入使用secret的容器secret-test-pod 中看看密码是否被更新[rootk8s-master-1 secret]# kubectl edit secret mysecret2secret/mysecret2 edited[rootk8s-master-1 secret]# kubectl exec -it secret-test-pod -- sh/mnt # cat password.txt admin/mnt #此时密码已经被更新了 imagePullSecretsPod拉去私有镜像仓库时使用的账户密码里边的账户信息会传递给kubelet然后kubelet就可以拉取有密码仓库里面的镜像 [rootk8s-master-1 secret]# kubectl create secret docker-registry docker-secret \--docker-serverhub.docker.com \--docker-usernameDOCKER_USER \--docker-passwordDOCKER_PASSWORD \--docker-emailDOCKER_EMAIL secret/docker-secret created [rootk8s-master-1 secret]# kubectl get secret NAME TYPE DATA AGEdocker-secret kubernetes.io/dockerconfigjson 1 8s使用 在pod中加入imagePullSecrets 和containers是同级 containers: imagePullSecrets:- name: docker-secret #创建的docker-registry 名字 2、以环境变量的方式创建secret多个Pod可以引用同一个Secret修改Pod的定义定义环境变量并使用env[].valueFrom.secretKeyRef指定secret和相应的KEY [rootk8s-master-1 secret]# vim env-pod.yaml apiVersion: v1 kind: Pod metadata:name: env-secret-pod spec:nodeName: k8s-node-2containers:- name: test-containerimage: busybox:1.28.4imagePullPolicy: IfNotPresentcommand: [ /bin/sh, -c, sleep 3600 ]env:- name: SECRET_USERNAMEvalueFrom:secretKeyRef:name: mysecret3key: username- name: SECRET_PASSWORDvalueFrom:secretKeyRef:name: mysecret3key: passwordd 创建成功进入容器查看环境变量 [rootk8s-master-1 secret]# kubectl exec -it env-secret-pod -- sh / #echo $SECRET_USERNAME admin / # echo $SECRET_PASSWORD 123456 此时 修改secret文件的内容在进入容器查看的时候发现容器的信息并没有被更新三、总结 如果引用Secret数据的应用会随着secret资源对象内保存的数据的更新而实时更新那么应该使用volumes挂载的方式引用资源因为环境变量的方式引用不会实时更新数据。 ConfigMap和Secret的区别 相同点 key/value的形式属于某个特定的namespaces可以导出到环境变量可以通过目录/文件形式挂载通过volume挂载的配置均可热更新 不同点 Secret 可以被 ServerAccount 关联Secret 可以存储 docker register 的鉴权信息用在 ImagePullSecret 参数中用于拉取私有仓库的镜像Secret 支持 Base64 加密Secret 分为 kubernetes.io/service-account-token、kubernetes.io/dockerconfigjson、Opaque 三种类型而 Configmap 不区分类型
http://www.zqtcl.cn/news/677262/

相关文章:

  • dedese网站牛客网官网
  • 网站到期续费要多少钱如何做一个电商
  • 试述网站建设的步骤石家庄公司网站如何制作
  • 百度推广自己做网站吗韶关东莞网站建设
  • 濮阳建站建设室内设计效果图图片
  • 上海找做网站公司国外网站国内做好还是国外做
  • 一个vps建两个网站怎么弄数据库济南地产行业网站开发
  • 网站到期请续费站长网
  • 个人网站名字可以用哪些促销网站怎么做
  • 网站开发需要提供哪些东西镇江网络违法网站
  • 都江堰建设局官方网站wordpress分享此文章
  • 素材网站整站下载赣州网站建设信息
  • 网上做问卷报酬不错的网站是iis 如何新建网站
  • 济南建设监理协会网站雄安网站建设单位
  • 微网站模板怎么用公司网站无法打开
  • 查询网站备案进度做外贸的数据网站
  • 广州建网站哪儿济南兴田德润简介室内设计效果图手绘图
  • 网站页面设计要求做搜狗网站优化
  • 家纺代发网站建设百度怎么做开锁网站
  • 哈尔滨网站建设有哪些做互联网项目怎么推广
  • 网站首页代码怎么做温州设计集团有限公司官网
  • 如何更换网站图片自己做头像的网站漫画
  • 网站设计风格确认书网站标题 没有排名
  • iis内网站设置允许脚本执行免费行情100个软件
  • 网站如何做团购网站域名做链接怎么做
  • 绿色蔬菜网站模板怎么做网站网站的代理
  • 网站seo优化推广专业app开发制作团队
  • 学校网站建设工作网上推广怎么做
  • 二 网站建设的目的及功能定位想找个专业做网站公司
  • 国内网站建设建设合肥城乡建设网站首页