系统官网网站模板下载安装,上海网站建设定制公,手机网站系统,外贸网站开发开发目录 ConfigMap ConfigMap#xff08;主要是将配置目录或者文件挂载到k8s里面使用#xff09;
与Secret类似#xff0c;区别在于ConfigMap保存的是不需要加密配置的信息。#xff08;例如#xff1a;配置文件#xff09; ConfigMap 功能在 Kubernetes1.2 版本中引入主要是将配置目录或者文件挂载到k8s里面使用
与Secret类似区别在于ConfigMap保存的是不需要加密配置的信息。例如配置文件 ConfigMap 功能在 Kubernetes1.2 版本中引入许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制ConfigMap 可以被用来保存单个属性也可以用来保存整个配置文件或者JSON二进制大对象。应用场景应用配置 创建 ConfigMap
以文件的形式创建 //--from-file 指定在目录下的所有文件都会被用在 ConfigMap 里面创建一个键值对键的名字就是文件名值就是文件的内容 还有两个文件依次使用同样的方法去创建cm 以文件目录的形式创建 将其中的两个文件加入到configmap中 可以用多个--from-file指定多个文件或者目录
小总结: 将文件或者目录作为键里面的内容作为值 通过--from-literal创建键值 把之前手动创建的cm删除 创建以文件和键值形式的cm 使用cm资源
1.当作数据卷挂载使用把cm当作数据卷挂载到pod容器里面使用 comfigMap热更新动态更新
在线修改 随后等个10秒左右进入到pod里面查看 使用 ConfigMap 来替代环境变量 环境变量不支持热更新
第一种 第二种 先创建一个新的cm demo2的配置文件内容 所有的的cm-ky00里面的内容都在env里面查看到 同时还可以设置command操作
demo2.yaml的配置文件内容 导入配置文件方式
导入nginx.conf配置文件 以文件的形式挂载不支持热更新 nginx.conf里面的内容已经变成挂载的内容
不支持热更新 测试一下 随后去pod里面查看是否有更新 配置文件以文件的形式挂载不支持热更新 外面cm修改在pod里面不生效 在容器配置中用volumeMoumts.subPath字段指定文件名实现将卷挂载到容器种指定的文件上不支持热更新 secret以加密的方式保存
Secret 是用来保存密码、token、密钥等敏感数据的 k8s 资源这类数据虽然也可以存放在 Pod 或者镜像中但是放在 Secret 中是为了更方便的控制如何使用数据并减少暴露的风险。 有四种类型
●kubernetes.io/service-account-token由 Kubernetes 自动创建1.27版本之前用来访问 APIServer 的 SecretPod 会默认使用这个 Secret 与 APIServer 通信 并且会自动挂载到 Pod 的 /run/secrets/kubernetes.io/serviceaccount 目录中;●Opaque base64 编码格式的 Secret用来存储用户自定义的密码、密钥等默认的 Secret 类型;●kubernetes.io/dockerconfigjson 用来存储私有 docker registry 的认证信息。
●kubernetes.io/tls; 用来存储Tls证书和私钥信息。 serviceaccount如果不指定的情况下默认都是用defalut的账户当pod作为主键访问apiservier时就会通过account-token去验证
举例 Pod 需要先引用才能使用某个 secretPod 有 3 种方式来使用 secret ●作为挂载到一个或多个容器上的卷 中的文件。 ●作为容器的环境变量。 ●由 kubelet 在为 Pod 拉取镜像时使用。 创建secret 文件形式 ●Opaquebase64 编码格式的 Secret用来存储用户自定义的密码、密钥等默认的 Secret 类型; 解密 创建secret 以键值形式 secret挂载方式 将secret以挂载的方式到pod里面 secret环境变量方式 环境变量里面都有 类型三kubernetes.io/dockerconfigjson
在 Docker harbor 节点192.168.88.7上操作
1.1关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
1.2 安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker.service
systemctl enable docker.service
docker version 建议不要使用最新版本的 Docker会存在与 api-server 版本不兼容安装20版本的docker yum install -y docker-ce-20.10.18 docker-ce-cli-20.10.18 、部署 Harbor 服务
2.1修改配置
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
vim /usr/local/harbor/harbor.cfg
--5行--修改设置为Harbor服务器的IP地址或者域名
hostname 192.168.246.14cd /usr/local/harbor/
./install.sh yum install -y docker-ce-20.10.18 docker-ce-cli-20.10.18 上传软件表到 /opt 目录中
上传 docker-compose 和 harbor-offline-installer-v1.2.2.tgz 到 /opt 目录中
上传 docker-compose 和 harbor-offline-installer-v1.2.2.tgz 到 /opt 目录中cd /opt
chmod x docker-compose
mv docker-compose /usr/local/bin/ 在 Harbor 中创建一个新项目
1浏览器访问http://192.168.246.14登录 Harbor WEB UI 界面默认的管理员用户名和密码是 admin/Harbor12345
2输入用户名和密码登录界面后可以创建一个新项目。点击“项目”按钮
3填写项目名称为“kgc-project”点击“确定”按钮创建新项目 创建一个私有的镜像仓库 在node1 node2节点上将nginxlatest镜像删除 随后在harbor上面下载nginx1.24版本的镜像