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

长沙网站制作案例中小学网站建设论文

长沙网站制作案例,中小学网站建设论文,成都网站建设 赢展,wordpress外链图片插件目录 一、理论 1.Secret 2.Secret创建 3.Secret使用 4.Configmap 5.Configmap创建 6.Configmap使用 二、实验 1.Secret创建 2.Secret使用 3.Configmap创建 4.Configmap使用 三、问题 1.变量引用生成资源报错 2.查看pod日志失败 3.创建configmap报错 4.YAML创建…目录 一、理论 1.Secret 2.Secret创建 3.Secret使用 4.Configmap 5.Configmap创建 6.Configmap使用 二、实验 1.Secret创建 2.Secret使用 3.Configmap创建 4.Configmap使用 三、问题 1.变量引用生成资源报错 2.查看pod日志失败 3.创建configmap报错 4.YAML创建configmap报错 5. 生成资源报错 6.文件挂载pod报错Error 四、总结 一、理论 1.Secret (1) 概念 Secret 解决了密码、token、秘钥等敏感数据的配置问题而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用。 Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。 这样的信息可能会被放在 Pod 规约中或者镜像中。 使用 Secret 意味着你不需要在应用程序代码中包含机密数据。 由于创建 Secret 可以独立于使用它们的 Pod 因此在创建、查看和编辑 Pod 的工作流程中暴露 Secret及其数据的风险较小。 Kubernetes 和在集群中运行的应用程序也可以对 Secret 采取额外的预防措施 例如避免将机密数据写入非易失性存储。 Secret 类似于 ConfigMap但专门用于保存机密数据。 2参数 secret 可选参数有三种: 1generic: 通用类型通常用于存储密码数据。2tls此类型仅用于存储私钥和证书。3docker-registry: 若要保存 docker 仓库的认证信息的话就必须使用此种类型来创建。 3类型 secret 常用类型: 1Service Account 用于被 serviceaccount 引用。serviceaccout 创建时 Kubernetes 会默认创建对应的 secret。Pod 如果使用了 serviceaccount对应的 secret 会自动挂载到 Pod的/run/secrets/kubernetes.io/serviceaccount 目录中。2Opaque base64 编码格式的 Secret用来存储密码、秘钥等。可以通过 base64 --decode 解码获得原始数据因此安全性弱。3kubernetes.io/dockerconfigjson 用来存储私有 docker registry 的认证信息。创建 Secret 时你可以使用 Secret 资源的 type 字段 或者与其等价的 kubectl 命令行参数如果有的话为其设置类型。 Secret 的 type 有助于对不同类型机密数据的编程处理。 Kubernetes 提供若干种内置的类型用于一些常见的使用场景。 针对这些类型Kubernetes 所执行的合法性检查操作以及对其所实施的限制各不相同。 内置类型用法Opaque用户定义的任意数据kubernetes.io/service-account-token服务账号令牌kubernetes.io/dockercfg~/.dockercfg 文件的序列化形式kubernetes.io/dockerconfigjson~/.docker/config.json 文件的序列化形式kubernetes.io/basic-auth用于基本身份认证的凭据kubernetes.io/ssh-auth用于 SSH 身份认证的凭据kubernetes.io/tls用于 TLS 客户端或者服务器端的数据bootstrap.kubernetes.io/token启动引导令牌数据 通过为 Secret 对象的 type 字段设置一个非空的字符串值你也可以定义并使用自己 Secret 类型。如果 type 值为空字符串则被视为 Opaque 类型。 Kubernetes 并不对类型的名称作任何限制。不过如果你要使用内置类型之一 则你必须满足为该类型所定义的所有要求。 2.Secret创建 1命令行创建 Secret的命令行创建方法与configmap一样可以通过命令行或者文件/目录的方式创建这里就不过多介绍此处使用命名行创建其它方法可以参照后面的方法进行创建 把 mysql 的 root 用户的 password 创建成 secret kubectl create secret generic mysql-password --from-literalpasswordxy123456 # 查看secret详细信息 kubectl describe secret mysql-password 2YAML文件创建 通过手动加密基于base64加密 echo -n admin | base64 YWRtaW4 echo -n xy123456 | base64 eHkxMjM0NTY 创建YAML vim secret.yaml apiVersion: v1 kind: Secret metadata:name: mysecret type: Opaque data:username: YWRtaW4password: eHkxMjM0NTY kubectl apply -f secret.yaml kubectl get secret kubectl describe secret mysecret 3.Secret使用 secret使用有2种方法 1 变量引用 vim secret-pod.yaml apiVersion: v1 kind: Pod metadata:name: secretpod spec:containers:- name: busyboximage: busyboxcommand: [ /bin/sh,-c,echo $(SECRET_USERNAME) $(SECRET_PASSWORD) ]env:- name: SECRET_USERNAMEvalueFrom:secretKeyRef:name: mysecretkey: username- name: SECRET_PASSWORDvalueFrom:secretKeyRef:name: mysecretkey: passwordrestartPolicy: Never kubectl apply -f secret-pod.yaml kubectl get pod kubectl logs secretpod 2文件挂载 将 Secret 挂载到 Volume 中 vim pod_secret_volume.yamlapiVersion: v1 kind: Pod metadata:name: secret-volume-pod spec:containers:- name: nginximage: nginxvolumeMounts:- name: secret-volumemountPath: /etc/secretreadOnly: truevolumes:- name: secret-volumesecret:secretName: mysecret kubectl apply -f pod_secret_volume.yaml kubectl get pod kubectl exec -it secret-volume-pod /bin/bash 进入pod可以看到/etc/secret下有password和username两个文件查看内容和我们创建的secret内容吻合。 kubectl exec -it secret-volume-pod /bin/bash rootsecret-volume-pod:/# cd /etc/secret rootsecret-volume-pod:/etc/secret# ls password username rootsecret-volume-pod:/etc/secret# cat username adminrootsecret-volume-pod:/etc/secret# cat password xy123456rootsecret-volume-pod:/etc/secret# exit exit 4.Configmap 1概念 Configmap 是 k8s 中的资源对象用于保存非机密性的配置的数据可以用 key/value 键值对的形式保存也可通过文件的形式保存。 ConfigMap来替代环境变量ConfigMap可以被用来填入环境变量; configmap里面的信息读入环境变量而容器启动的时候可以利用这些环境变量. ConfigMap是以key:value的形式保存配置项既可以用于表示一个变量的值例如configinfo也可以用于表示一个完整配置文件的内容例如server.xml?xml……。 2作用 在部署服务的时候每个服务都有自己的配置文件 1如果一台服务器上部署多个服务nginx、tomcat、apache等那么这些配置都存在这个节点上2假如一台服务器不能满足线上高并发的要求需要对服务器扩容扩容之后的服务器还是需要部署多个服务3nginx、tomcat、apache新增加的服务器上还是要管理这些服务的配置4如果有一个服务出现问题需要修改配置文件每台物理节点上的配置都需要修改这种方式肯定满足不了线上大批量的配置变更要求 所以k8s 中引入了 Configmap资源对象可以当成 volume 挂载到 pod 中实现统一的配置管理。3特点 1Configmap 是 k8s 中的资源 相当于配置文件可以有一个或者多个 Configmap2Configmap 可以做成 Volumek8s pod 启动之后通过 volume 形式映射到容器内部指定目录上3容器中应用程序按照原有方式读取容器特定目录上的配置文件4在容器看来配置文件就像是打包在容器内部特定目录整个过程对应用没有任何侵入。4结构 5.Configmap创建 configmap创建有二种方式 一是命令行方式分为从字面读取--from-literal和从目录--from-file读取。 二是yaml方式。 1 命令行直接创建 直接在命令行中指定 configmap 参数创建通过**–from-literal** 指定参数 #创建 kubectl create configmap nginx-config --from-literalnginx_port80 --from-literalserver_namenginx #查看configmap kubectl describe configmap nginx-config 2通过文件/目录创建 通过指定文件创建一个 configmap–from-file文件/目录 vim nginx.confserver {server_name www.nginx.com;listen 80;root /home/nginx/www/ } 通过指定文件创建 kubectl create configmap www-nginx --from-filewww/opt/config/nginx.confkubectl describe configmap www-nginx 通过目录创建 当某些服务存在多个配置文件时放在同一目录下我们可以指定目录进行创建 kubectl create configmap www-nginx2 --from-file/opt/config/ kubectl describe configmap www-nginx2 3YAML创建 vim nginx_conf.yamlapiVersion: v1 kind: ConfigMap metadata:name: nginx-conflabels:app: nginx-conf data:nginx.conf: |server {server_name www.nginx.com;listen 80;root /home/nginx/www/} 6.Configmap使用 1新创一个configmap用于测试 apiVersion: v1 kind: ConfigMap metadata:name: testlabels:app: test data:xy: xuexihw: hello world kubectl apply -f test.yaml 2变量引入 创建一个pod引用configmap apiVersion: v1 kind: Pod metadata:name: mypod spec:containers:- name: busyboximage: busyboxcommand: [ /bin/sh, -c, echo $(LEVEL) $(TYPE) ]env:- name: LEVELvalueFrom:configMapKeyRef:name: testkey: xy- name: TYPEvalueFrom:configMapKeyRef:name: testkey: hwrestartPolicy: Never kubectl apply -f pod-configmap.yaml kubectl get pod kubectl logs mypod 3文件挂载  apiVersion: v1 kind: Pod metadata:name: mypod1 spec:containers:- name: busyboximage: busyboxcommand: [ /bin/sh,-c,cat /etc/config/hi ]volumeMounts:- name: config-volumemountPath: /etc/configvolumes:- name: config-volumeconfigMap:name: testrestartPolicy: Never #创建pod kubectl apply -f cm.yaml #查看pod日志 kubectl logs mypod1 二、实验 1.Secret创建 1命令行创建 把 mysql 的 root 用户的 password 创建成 secret 密文类型威Opaque,查询不会显示password的值 2YAML文件创建 通过手动加密基于base64加密 创建YAML 生成资源 查看信息 2.Secret使用 1变量引用 生成资源 查看信息 2文件挂载 将 Secret 挂载到 Volume 中 生成资源 查看信息 进入pod可以看到/etc/secret下有password和username两个文件查看内容和我们创建的secret内容吻合。 3.Configmap创建 1 命令行直接创建 直接在命令行中指定 configmap 参数创建通过**–from-literal** 指定参数 2通过文件/目录创建 通过指定文件创建一个 configmap–from-file文件/目录 通过指定文件创建 通过目录创建 当某些服务存在多个配置文件时放在同一目录下我们可以指定目录进行创建 3YAML创建 生成资源 查看信息 4.Configmap使用 1新创一个configmap用于测试 生成资源 2变量引入 创建一个pod引用configmap 输出2个变量用于测试 LEVEL定义pod容器内的变量 test为configmap的名称 xw为tes中的key 3文件挂载  cat /etc/config/hi输出test配置种的key为hw的值 挂载在pod内容器的位置 /etc/config test为configmap的名称 启动pod并查看pod日志 三、问题 1.变量引用生成资源报错 1报错 2原因分析 资源类型错误 3解决方法 修改前 修改后 成功 2.查看pod日志失败 1报错 2原因分析 pod还在创建未启动 3解决方法 等待几秒再次查看 3.创建configmap报错 1报错 2原因分析 文件名已存在 3解决方法 删除已存在文件 4.YAML创建configmap报错 1报错 2原因分析 配置文件错误 3解决方法 修改前 修改后 5. 生成资源报错 1报错 2原因分析 配置文件错误 3解决方法 配置文件关键词“ConfigMap”添加 “|” 修改前 修改后 成功 6.文件挂载pod报错Error 1报错 2原因分析 配置文件错误 3解决方法 修改配置文件 修改前 修改后 成功 四、总结 使用secret的基本流程 1.创建k8s集群 2.创建管理的文件 3.验证 4.解码 5.清理 configmap创建有二种方式 一是命令行方式分为从字面读取--from-literal和从目录--from-file读取。 下面是二者区别 1. --from-literal从字面读取的好处就是快速和便捷你可以通过关键字参数的形式**kargs将配置信息直接传递至configmap然后在pod启动的时候进行加载同时这个方式的弊端就是变量不能实时更新到pod容器。2.   --from-file从目录读取的好处可以实时更新到pod容器。二是yaml方式。 在容器看来配置文件就像是打包在容器内部特定目录整个过程对应用没有任何侵入。
http://www.pierceye.com/news/523563/

相关文章:

  • 网站备案登记表晋城市建设局 网站
  • 网站备案会检查空间运营策划
  • 关于做网站建筑人力网
  • 网站开发培训合肥企业解决方案工作组
  • 怎么看待网站开发做网站好赚钱
  • 网站开发工作方案建设网站用什么软件排版
  • 网站建设耂首先金手指建设一个电商网站需要多少钱
  • 网站建设需注意的企业网站建设好的例子
  • 30岁做网站运营优秀的html5网站
  • 专门做眼镜的网站国内重大新闻事件2021年10月
  • 具有价值的网站制作菜单宣传网站怎么做的
  • 做网站 博客信息网站开发网络公司
  • 网站建设有哪些荣誉做响应式网站好不好
  • 精品资料网站网站建立
  • 网站开发印花税营销咨询
  • 马鞍山建设集团有限公司网站找工程项目上哪个平台好呢
  • 网站建设发货流程图电子商务是什么
  • 与有权重网站做友链软件开发可以做网站么
  • html网站开发代码专业的网站开发团队
  • 聚美优品的网站建设状况wordpress 微商城
  • 网络营销型网站律师做推广的网站
  • 网站建设公司排行济南网页制作设计营销
  • 网站功能建设与栏目划分wordpress 系统需求
  • 做网络推广要做网站吗wordpress中对视频排序
  • 三合一网站怎么建立如何做网站规范
  • 浙江网站改版设计公司网站建设实训目的
  • 建设网站装配式建筑楼房东莞网站建设php方案
  • 宜昌网站制作公司排名眉山招聘网站建设
  • 网站开发项目经理工资公司网站建设管理
  • 大良o2o网站建设百度手机卫士下载安装