【K8s】专题五(4):Kubernetes 配置之 ConfigMap 与 Secret 使用

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、ConfigMap 使用方式

1、注入环境变量

2、挂载配置文件

二、Secret 使用方式

1、注入环境变量

2、设置镜像密钥

3、设置TLS凭据


一、ConfigMap 使用方式
1、注入环境变量
  • 方式一(指定)

在 deployment.yaml 的 env 部分,通过 configMapKeyRef 方式注入指定的环境变量。

# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: demo-configmap
data:RUN_ENV: prodRUN_MODE: allinone...---
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: demo-deployment
spec:replicas: 1selector:matchLabels:app: demo-deploymenttemplate:metadata:labels:app: demo-deploymentspec:containers:- name: demo-containerimage: demo-image:latestports:- containerPort: 80env:- name: RUN_ENVvalueFrom:configMapKeyRef:name: demo-configmapkey: RUN_ENV- name: RUN_MODEvalueFrom:configMapKeyRef:name: demo-configmapkey: RUN_MODE
  • 方式二

在 deployment.yaml 的 envFrom 部分,通过 configMapRef 方式注入所有环境变量。

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: demo-deployment
spec:replicas: 1selector:matchLabels:app: demo-deploymenttemplate:metadata:labels:app: demo-deploymentspec:containers:- name: demo-containerimage: demo-image:latestports:- containerPort: 80envFrom:- configMapRef:name: demo-configmap

2、挂载配置文件

在 deployment.yaml 中,通过 volume 方式挂载为容器配置文件 /etc/config/conf_A 和 /etc/config/conf_B。

# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:name: demo-configmap
data:conf_A: |host: hostAname: nameAconf_B: |host: hostBname: nameB---
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: demo-deployment
spec:replicas: 1selector:matchLabels:app: demo-deploymenttemplate:metadata:labels:app: demo-deploymentspec:containers:- name: demo-containerimage: demo-image:latestports:- containerPort: 80volumeMounts:- name: confmountPath: /etc/configvolumes:- name: confconfigMap:name: demo-configmapdefaultMode: 420


二、Secret 使用方式
1、注入环境变量
  • 方式一

在 deployment.yaml 的 env 部分,通过 secretKeyRef 方式注入指定环境变量。

# secret.yaml
apiVersion: v1
kind: Secret
metadata:name: demo-secret
type: Opaque
data:password: MTIzNDU2Cg==...---
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: demo-deployment
spec:replicas: 1selector:matchLabels:app: demo-deploymenttemplate:metadata:labels:app: demo-deploymentspec:containers:- name: demo-containerimage: demo-image:latestports:- containerPort: 80env:- name: passwordvalueFrom:secretKeyRef:name: demo-secretkey: password
  • 方式二

在 deployment.yaml 的 envFrom 部分,通过 secretRef 方式注入所有环境变量。

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: demo-deployment
spec:replicas: 1selector:matchLabels:app: demo-deploymenttemplate:metadata:labels:app: demo-deploymentspec:containers:- name: demo-containerimage: demo-image:latestports:- containerPort: 80envFrom:- secretRef:name: demo-secret

2、设置镜像密钥

在 deployment.yaml 中,通过 imagePullSecrets 指定下载镜像所需的镜像仓库密钥。

# 创建 docker-registry 对象
kubectl create secret docker-registry demo-secret \
--docker-server=DOCKER_SERVER \
--docker-username=DOCKER_USER \
--docker-password=DOCKER_PASSWORD# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: demo-deployment
spec:replicas: 1selector:matchLabels:app: demo-deploymenttemplate:metadata:labels:app: demo-deploymentspec:containers:- name: demo-containerimage: demo-image:latestports:- containerPort: 80imagePullSecrets:name: demo-secret

3、设置 TLS 凭据

在 ingress.yaml 中的 tls 部分,指定域名证书对应的 Secret 对象。

# 创建 TLS 对象
kubectl create secret tls demo-secret --cert=tls.crt --key=tls.key# ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: demo-ingress
spec:rules:
...tls:- hosts:- demo.comsecretName: demo-secret

说明:后续文章将详细介绍 ingress 对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/29511.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计Python+Flask弹幕情感分析 B站视频数据可视化 B站爬虫 机器学习 深度学习 人工智能 NLP文本分类 数据可视化 大数据毕业设计

首先安装需要的python库, 安装完之后利用navicat导入数据库文件bili100.sql到mysql中, 再在pycharm编译器中连接mysql数据库,并在设置文件中将密码修改成你的数据库密码。最后运行app.py,打开链接,即可运行。 B站爬虫数…

大学物理实验分析

终于整理完了 测量误差分类 天平未校准引起的误差 天平设计、制造、使用或环境因素引起偏差属于系统误差应定期校准天平 游标卡尺测量物体长度 读取主尺整毫米数读取副尺小数部分相加得出测量结果记录测量结果时保留适当小数位数可通过多次测量取平均值提高精确度注明单位…

防泄密解决方案

防泄密解决方案是一个系统性的策略,旨在保护敏感信息不被非法获取、泄露或滥用。以下是一个结构清晰、分点表示的防泄密解决方案,结合了参考文章中的关键信息和建议: 一、策略制定与政策明确 明确数据分类:将数据分为公开、内部…

私有化地图离线部署方案之基础地图服务

私有化地图离线部署整体解决方案,除硬件之外,一般主要由基础地图服务、地理逆编码服务、离线路径规划服务和海拔高程检索服务构成。 现在先为你分享基础地图服务,它是私有化地图离线部署的基础。 基础地图服务 基础地图服务是私有化离线部…

06文件和文件夹的操作

授课进程 一、文件操作 在操作的时候尽量选择Linux下面的/opt目录 使用ls -l 命令,相对简化的命令ll 在Linux中,ls -l是一个常用的命令,用于列出文件和目录的详细信息。下面是ls -l命令的一些常见选项和输出示例: ​ - 使用ls -…

SQL Server入门-SSMS简单使用(2008R2版)-2

环境: win10,SQL Server 2008 R2 参考: SQL Server 管理套件(SSMS)_w3cschool https://www.w3cschool.cn/sqlserver/sqlserver-oe8928ks.html SQL Server存储过程_w3cschool https://www.w3cschool.cn/sqlserver/sql…

2025年计算机毕业设计题目参考-简单容易

2025年最新计算机毕业设计题目参考-第二批 以下可以参考 企业员工薪酬关系系统的设计 基于SpringBoot在线远程考试系统 SpringBootVue的乡政府管理系统 springboot青年公寓服务平台 springboot大学生就业需求分析系统 基于Spring Boot的疗养院管理系统 基于SpringBoot的房屋交…

vue3实现div盒子的内容hover上去时样式改变及部分元素的显隐

样式&#xff1a; hover后的样式&#xff1a; 整体盒子的背景颜色发生了改变&#xff0c;盒子内边距发生了改变&#xff0c;右下侧的箭头出现 实现方式&#xff1a; 利用mouseover和mouseout并结合css样式实现 template中&#xff1a; <divclass"new-item"v-f…

动手学深度学习(Pytorch版)代码实践 -深度学习基础-13Kaggle竞赛:2020加州房价预测

13Kaggle竞赛&#xff1a;2020加州房价预测 # 导入所需的库 import numpy as np import pandas as pd import torch import hashlib import os import tarfile import zipfile import requests from torch import nn from d2l import torch as d2l# 读取训练和测试数据 train_…

电脑数据恢复,掌握4个方法,恢复数据很简单!

在数字化浪潮席卷全球的今天&#xff0c;电脑数据已成为我们生活与工作中不可或缺的一部分。然而&#xff0c;当这些数据因各种原因意外丢失或损坏时&#xff0c;那种失落与无助的感觉常常令人倍感焦虑。 想象一下&#xff0c;你正在为一项重要项目加班加点&#xff0c;突然电…

家用洗地机哪个牌子的质量最好最耐用?四款出色机型推荐

在清洁家电市场迅猛发展的今天&#xff0c;洗地机深度清洁效果和高效便捷性&#xff0c;成为家庭地面清洁的首选。然而&#xff0c;随着洗地机的普及&#xff0c;各大家电品牌纷纷推出洗地机产品&#xff0c;竞争日益激烈。那么&#xff0c;如何在众多洗地机中&#xff0c;挑选…

30. 光纤耦合器

导论&#xff1a; 物理光学传播&#xff08;POP&#xff09;可用于计算光纤耦合效率。 设计流程&#xff1a; 光束建模和聚焦 在系统选项中选择系统孔径&#xff0c;在系统孔径下选择“入瞳直径”&#xff0c;并输入“4”。 设置0视场&#xff0c;选择角度。 加入1um波长。…

基于JSP的房屋租赁系统

开头语&#xff1a; 你好&#xff0c;我是专注于计算机科学与技术研究的学长。如果你对房屋租赁系统感兴趣或有相关开发需求&#xff0c;欢迎联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSPJavaBeansServlet 工具&#xff1a;MyEclipse、…

【Cubicity】Blender商城10周年免费领取礼物Lowpoly风格城市环境资产素材库资产浏览器快速挑选模型搭建场景

6月18号的限时免费Blender插件资产来了&#xff0c;是一款可以利用模型资产库创建自己的城市环境的工具。 Blender商城10周年免费领取礼物&#xff1a;https://blendermarket.com/birthday Cubicity&#xff1a;使用 Blender 创建和利用资源库 Blender 的最新功能之一是 Asse…

计算机专业毕业设计之网课敏感词监控系统实现介绍

系统简介&#xff1a; 本系统通过web页面实时监控网课学生上课的发言内容&#xff0c;对语音进行实时转写&#xff0c;并判断语音内容是否包含敏感词或者违禁词&#xff0c;对出现的敏感词或者违禁词在页面进行显示&#xff0c;方便老师对学生上课期间的行为进行监控。 系统技…

计算机专业毕设-校园二手交易平台

1 项目介绍 基于SpringBoot的校园二手交易平台&#xff1a;前端Freemarker&#xff0c;后端 SpringBoot、Jpa&#xff0c;系统用户分为两类&#xff0c;管理员、学生&#xff0c;具体功能如下&#xff1a; 管理员&#xff1a; 基本功能&#xff1a;登录、修改个人信息、修改…

Eigne库安装及使用教程

文章目录 1.Eigne库介绍2.Eigne库安装3.Eigne库使用4.some examples5.参考文献 1.Eigne库介绍 Eigen是可以用来进行线性代数、矩阵、向量操作等运算的C库&#xff0c;它里面包含了很多算法。它的License是MPL2。它支持多平台。 Eigen采用源码的方式提供给用户使用&#xff0c;在…

HumbleBundle捆绑包6月18号推出38件Unity和Unreal的3D模型捆绑包美术工具道具环境模块化恐怖FPS和RPG赛博20240618

HumbleBundle今天更新了新的捆绑包&#xff0c;Unity和Unreal的无限创作主题&#xff0c; 主要是场景环境模型、工具、道具等合集&#xff0c;质量挺高。 非常适合FPS、模拟经营、RPG等类型游戏。 HumbleBundle捆绑包6月18号推出38件Unity和Unreal的3D模型捆绑包美术工具道具环…

基于 Arm 虚拟硬件实现人脸特征提取模型的部署

基于 Arm 虚拟硬件实现人脸特征提取模型的部署 文章目录 1 实验背景1.1 Arm 虚拟硬件介绍1.2 文章简介 2 实验目标3 实验前准备3.1 订阅 Arm 虚拟硬件镜像的百度智能云云服务器 BCC 实例3.2 克隆实验代码 4 实验步骤4.1 配置开发环境4.1.1 配置 CMSIS-Toolbox 环境4.1.2 配置 P…

idea2020版本下载及注册

一。准备idea2020和BetterIntelliJ插件和补丁key 二、开始安装。 idea就正常安装&#xff0c;然后打开&#xff0c;选择试用30天打开即可&#xff0c;然后File - settings - plugins 点击 Install Plugin from Disk 然后选择BetterIntelliJ这个&#xff0c;这个后期不可变名称…