文章目录
- 1. 配置管理
-
- 1.1 Secret
-
- 1.1.1 变量形式挂载到Pod
- 1.1.2 数据卷形式挂载
- 1.2 ConfigMap
-
- 1.2.1 数据卷形式挂载到pod容器中
- 1.2.1 变量形式挂载到Pod容器中
- 2. 集群安全机制
-
- 2.1 RBAC介绍
1. 配置管理 1.1 Secret Secret的主要作用就是加密数据,然后存在etcd里面,让Pod容器以变量或挂载Volume方式进行访问
场景:如用户名 和 密码进行加密,凭证
一般场景的是对某个字符串进行base64编码 进行加密
[root@iZ2zedqr9yeos47fg4uor5Z ~]# echo -n 'admin' | base64
YWRtaW4=
1.1.1 变量形式挂载到Pod
- 创建secret加密数据
文章图片
执行该yaml
kubectl create -f secret.yaml
用get命令查看
kubectl get secret
文章图片
- 以变量形式挂载到pod中
文章图片
运行创建上述yaml
kubectl apply -f secret-val.yaml
文章图片
进入mypod容器,即可获取到挂载的数据
kubectl exec -it mypod bash #进入容器echo $SECRET_USERNAME #获取挂载的变量
文章图片
1.1.2 数据卷形式挂载
- 创建secret-vol.yaml
第一个红框为挂载目录
第二个红框为前面创建的mysecret
文章图片
- 运行创建上述yaml
kubectl apply -f secret-vol.yaml
文章图片
- 进入pod并验证
kubectl exec -it mypod bash # 进入ls /etc/foot #进入容器后,执行该命令可以查看到挂载变量
文章图片
1.2 ConfigMap 存储不加密的数据到etcd中,让Pod以变量或数据卷挂载到容器中
场景:配置文件
1.2.1 数据卷形式挂载到pod容器中
1.首先我们需要创建一个配置文件 redis.properties
redis.port=127.0.0.1
redis.port=6379
redis.password=123456
2.创建ConfigMap
使用命令创建
kubectl create configmap redis-config --from-file=redis.properties
查看configmap信息
kubectl get cmkubectl describe cm redis-config
文章图片
3. Volume数据卷形式挂载
创建cm.yaml文件
文章图片
1.2.1 变量形式挂载到Pod容器中
- 首先我们有一个 myconfig.yaml文件,声明变量信息,然后以configmap创建
文章图片
- 然后我们就可以创建我们的配置文件
# 创建pod
kubectl apply -f myconfig.yaml
# 获取
kubectl get cm
文章图片
3. 然后我们创建完configmap后,我们就需要再创建一个 config-var.yaml 来使用我们的配置信息
文章图片
4.查看输出
kubectl logs mypod
文章图片
2. 集群安全机制 当我们访问K8S集群时,需要经过三个步骤完成具体操作
- 认证
- 鉴权【授权】
- 准入控制
访问过程中,需要证书、token、或者用户名和密码
如果访问pod需要serviceAccount
(1)认证
对外不暴露8080端口,只能内部访问,对外使用的端口6443客户端身份认证常用方式:
1. https证书认证,基于ca证书
2. http token认证,通过token来识别用户
3. http基本认证,用户名 + 密码认证
(2)鉴权
基于RBAC进行鉴权操作基于角色访问控制
(3)准入控制
就是准入控制器的列表,如果列表有请求内容就通过,没有的话 就拒绝
2.1 RBAC介绍 基于角色的访问控制,为某个角色设置访问内容,然后用户分配该角色后,就拥有该角色的访问权限
【k8s|k8s(六)(配置管理与集群安全机制)】此部分可参考博客:https://blog.csdn.net/qq_38304320/article/details/121089389
推荐阅读
- Python进阶|警惕 Python 中少为人知的 10 个安全陷阱
- linux|2022年云原生趋势
- 个人日记|K8s中Pod生命周期和重启策略
- k8s|Scheduling Framework 与 Extender对比及详细介绍
- Go|Docker后端部署详解(Go+Nginx)
- Java程序|软件测试八款优秀的API安全测试工具,会用三款工作效率能提升50%
- docker|Docker
- 内网渗透|内网渗透-最实用的信息收集