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

游戏网站建设一条龙直播功能开发

游戏网站建设一条龙,直播功能开发,如何做 旅游网站内容,石家庄做网站费用Secret Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源#xff0c;这类数据虽然也可以存放在 Pod 或者镜像中#xff0c;但是放在 Secret 中是为了更方便的控制如何使用数据#xff0c;并减少暴露的风险。 三种类型#xff1a; kubernetes.io/service-accoun…Secret Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源这类数据虽然也可以存放在 Pod 或者镜像中但是放在 Secret 中是为了更方便的控制如何使用数据并减少暴露的风险。   三种类型 kubernetes.io/service-account-token由 Kubernetes 自动创建用来访问 APIServer 的 SecretPod 会默认使用这个 Secret 与 APIServer 通信 并且会自动挂载到 Pod 的 /run/secrets/kubernetes.io/serviceaccount 目录中; Opaque base64 编码格式的 Secret用来存储用户自定义的密码、密钥等默认的 Secret 类型;kubernetes.io/dockerconfigjson 用来存储私有 docker registry 的认证信息。 Pod 需要先引用才能使用某个 secret Pod 有 3 种方式来使用 secret 作为挂载到一个或多个容器上的卷 中的文件。作为容器的环境变量。由 kubelet 在为 Pod 拉取镜像时使用。 应用场景凭据   https://kubernetes.io/docs/concepts/configuration/secret/   实例 1、用kubectl create secret命令创建Secret   [rootmaster01 opt]# echo -n zhangsan username.txt [rootmaster01 opt]# echo -n abc123 password.txtkubectl create secret generic mysecret --from-fileusername.txt --from-filepassword.txt查看 kubectl get secretskubectl describe secret mysecret用于获取关于名为 mysecret 的 Secret 对象的详细描述信息 kubectl describe secret mysecret get或describe指令都不会展示secret的实际内容这是出于对数据的保护的考虑   2、内容用 base64 编码创建Secret echo -n zhangsan | base64 emhhbmdzYW4Kecho -n abc1234 | base64 YWJjMTIzNAovim secret.yaml apiVersion: v1 kind: Secret metadata:name: mysecret1namespace: default type: Opaque data:username: emhhbmdzYW4password: YWJjMTIzkubectl edit secrets mysecret1 使用方式为挂载 1、将 Secret 挂载到 Volume 中以 Volume 的形式挂载到 Pod 的某个目录下   vim secret-test.yaml apiVersion: v1 kind: Pod metadata:name: mypodlabels:run: myapp-pod spec:containers:- image: nginxname: nginxports:- containerPort: 80volumeMounts:- name: mysecretsmountPath: /etc/secretsreadOnly: truevolumes:- name: mysecretssecret:secretName: mysecretkubectl exec -it mypod bash 将 Secret 导出到环境变量中 apiVersion: v1 kind: Pod metadata:labels:run: mypod1name: mypod1 spec:containers:- image: nginxname: mypod1env:- name: TEST_USERvalueFrom:secretKeyRef:name: mysecret1key: username- name: TEST_PASSWORDvalueFrom:secretKeyRef:name: mysecret1key: password创建完成  ConfigMap 概述 与Secret类似区别在于ConfigMap保存的是不需要加密配置的信息。 ConfigMap 功能在 Kubernetes1.2 版本中引入许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制ConfigMap 可以被用来保存单个属性也可以用来保存整个配置文件或者JSON二进制大对象。   应用场景应用配置 创建 ConfigMap 1、使用目录创建   vim /opt/configmap/game.properties enemiesaliens lives3 enemies.cheattrue enemies.cheat.levelnoGoodRotten secret.code.passphraseUUDDLRLRBABAS secret.code.allowedtrue secret.code.lives30vim /opt/configmap/ui.properties color.goodpurple color.badyellow allow.textmodetrue how.nice.to.lookfairlyNicels /opt/configmap/ game.properties ui.propertieskubectl create configmap game-config --from-file/opt/configmap/kubectl get cm 查看文件详细信息· 2、使用文件创建    只要指定为一个文件就可以从单个文件中创建 ConfigMap --from-file 这个参数可以使用多次即可以使用两次分别指定上个实例中的那两个配置文件效果就跟指定整个目录是一样的kubectl create configmap game-config-2 --from-file/opt/configmap/game.properties --from-file/opt/configmap/ui.propertieskubectl get configmaps game-config-2 -o yamlkubectl describe cm game-config-23、使用字面值创建  使用文字值创建利用 --from-literal 参数传递配置信息该参数可以使用多次格式如下   kubectl create configmap special-config --from-literalspecial.howvery --from-literalspecial.typegoodkubectl get configmaps special-config -o yaml获取名为special-config的ConfigMap资源的详细信息并以YAML格式进行输出。ConfigMap是Kubernetes中用于存储配置数据的一种资源对象。该命令将返回特定ConfigMap的配置信息包括键值对和其他元数据。 kubectl delete cm --all删除所有的ConfigMap资源。ConfigMap是Kubernetes中用于存储配置数据的一种资源对象。使用这个命令将会删除集群中的所有ConfigMap包括它们的键值对和其他元数据。请谨慎使用该命令确保你真正需要删除所有的ConfigMap。kubectl delete pod --all 删除所有的Pod资源。Pod是Kubernetes中最小的可部署单元用于运行容器化应用程序。使用该命令将会删除集群中的所有Pod包括它们的镜像、配置和其他相关资源。请谨慎使用该命令确保你真正需要删除所有的Pod并且已经备份了必要的数据。 Pod 中使用 ConfigMap  1、使用 ConfigMap 来替代环境变量   apiVersion: v1 kind: ConfigMap metadata:name: special-confignamespace: default data:special.how: veryspecial.type: good --- apiVersion: v1 kind: ConfigMap metadata:name: env-confignamespace: default data:log_level: INFOkubectl create -f env.yaml 创建 kubectl get cm Pod的创建 vim test-pod.yaml apiVersion: v1 kind: Pod metadata:name: test-pod spec:containers:- name: busyboximage: busybox:1.28.4command: [ /bin/sh, -c, env ]env:- name: SPECIAL_HOW_KEYvalueFrom:configMapKeyRef:name: special-configkey: special.how- name: SPECIAL_TYPE_KEYvalueFrom:configMapKeyRef:name: special-configkey: special.typeenvFrom:- configMapRef:name: env-configrestartPolicy: Never创建完成 kubectl create -f test-pod.yaml kubectl logs pod-test2、用 ConfigMap 设置命令行参数    vim test-pod2.yaml apiVersion: v1 kind: Pod metadata:name: test-pod2 spec:containers:- name: busyboximage: busybox:1.28.4command: - /bin/sh- -c- echo $(SPECIAL_HOW_KEY) $(SPECIAL_TYPE_KEY)env:- name: SPECIAL_HOW_KEYvalueFrom:configMapKeyRef:name: special-configkey: special.how- name: SPECIAL_TYPE_KEYvalueFrom:configMapKeyRef:name: special-configkey: special.typeenvFrom:- configMapRef:name: env-configrestartPolicy: Neverkubectl create -f test-pod2.yaml创建完成 kubectl logs test-pod2 3、通过数据卷插件使用ConfigMap    在数据卷里面使用 ConfigMap就是将文件填入数据卷在这个文件中键就是文件名键值就是文件内容   vim test-pod3.yaml apiVersion: v1 kind: Pod metadata:name: test-pod3 spec:containers:- name: busyboximage: busybox:1.28.4command: [ /bin/sh, -c, sleep 36000 ]volumeMounts:- name: config-volumemountPath: /etc/configvolumes:- name: config-volumeconfigMap:name: special-configrestartPolicy: Neverkubectl create -f test-pod3.yaml 创建完成 kubectl get pods kubectl exec -it test-pod3 sh ConfigMap 的热更新  vim test-pod4.yaml apiVersion: v1 kind: ConfigMap metadata:name: log-confignamespace: default data:log_level: INFO --- apiVersion: extensions/v1beta1 kind: Deployment metadata:name: my-nginx spec:replicas: 1template:metadata:labels:run: my-nginxspec:containers:- name: my-nginximage: nginxports:- containerPort: 80volumeMounts:- name: config-volumemountPath: /etc/configvolumes:- name: config-volumeconfigMap:name: log-configkubectl apply -f test-pod5.yamlkubectl get pods kubectl exec -it my-nginx-76b6489f44-6dwxh -- cat /etc/config/log_levelkubectl edit configmap log-config apiVersion: v1 data:log_level: DEBUG #INFO 修改成 DEBUG kind: ConfigMap metadata:annotations:kubectl.kubernetes.io/last-applied-configuration: |{apiVersion:v1,data:{log_level:DEBUG},kind:ConfigMap,metadata:{annotations:{},name:log-config,namespace:default}} #INFO 修改成 DEBUGcreationTimestamp: 2021-05-25T07:59:18Zname: log-confignamespace: defaultresourceVersion: 93616selfLink: /api/v1/namespaces/default/configmaps/log-configuid: 1b8115de-bd2f-11eb-acba-000c29d88bba等大概10秒左右使用该 ConfigMap 挂载的 Volume 中的数据同步更新  kubectl exec -it my-nginx-76b6489f44-6dwxh -- cat /etc/config/log_levelConfigMap 更新后滚动更新 Pod 更新 ConfigMap 目前并不会触发相关 Pod 的滚动更新可以通过在 .spec.template.metadata.annotations 中添加 version/config 每次通过修改 version/config 来触发滚动更新kubectl patch deployment my-nginx --patch {spec: {template: {metadata: {annotations: {version/config: 20210525 }}}}}kubectl get pods kubectl get pods 更新 ConfigMap 后 使用该 ConfigMap 挂载的 Env 不会同步更新。 ●使用该 ConfigMap 挂载的 Volume 中的数据需要一段时间实测大概10秒才能同步更新。
http://www.yutouwan.com/news/159133/

相关文章:

  • 做设计 素材网站有哪网站建设致谢
  • 百度网盘网站开发文档模板网站如何做查询表单
  • 顺德网站建设收费标准wordpress无限登录密码
  • 企业网站建设 知乎品牌设计公司招聘
  • 科技风格网站金华建设局政务网站
  • 怎么用360做网站跳转wordpress代码框
  • 百度财报q3优化营商环境条例
  • 网站定制公司平顶山高端网站建设
  • iis做网站视手机网站域名哪里注册时间
  • 流量套餐汇总网站外贸做的社交网站
  • 电子商务网站开发策划可以讨论网站建设的论坛
  • 网站开发语言排名wordpress自动添加
  • 公司域名让做网站的网站开发行业分析
  • 做微信扫码网站牡丹江建设厅网站
  • 给网站做绝对路径怎么给公司做网站
  • 沧浪企业建设网站价格淘客招商网站选品库建设
  • 静态网站建设的技术运用建设局网站功能简介
  • 免费企业网站建设哪家搜狗网站做滤芯怎么样
  • 建筑公司是干什么的seo的定义
  • 网站建设银行业务预约纪念币猪年纪念币预约江门网站优化方案
  • 外贸英文网站开发长春做网站哪里好
  • 做网站的图片要求大小虚拟电子商务网站建设前期规划方案
  • 做家装的网站有哪些百度一下就知道首页
  • 上海外贸网站建设找哪家衡水专业网站建设公司
  • 龙岗爱联网站建设网站建设的工作职责是什么
  • 娄底工程建设有限公司网站成品免费观看网站
  • 正规网站建设首选公司电脑ppt制作软件
  • 门户网站的意思网站建设完成
  • 网站打开空白页不用购买域名做网站
  • 给别人做网站的话术南京seo排名优化