k8s(六):配置管理与集群安全机制

1. 配置管理

1.1 Secret

Secret的主要作用就是加密数据,然后存在etcd里面,让Pod容器以变量或挂载Volume方式进行访问
场景:如用户名 和 密码进行加密,凭证

一般场景的是对某个字符串进行base64编码 进行加密

[root@iZ2zedqr9yeos47fg4uor5Z ~]# echo -n 'admin' | base64
YWRtaW4=

1.1.1 变量形式挂载到Pod

  1. 创建secret加密数据

创建secret加密数据的yaml文件 secret.yaml
在这里插入图片描述
执行该yaml

kubectl create -f secret.yaml

用get命令查看

kubectl get secret

在这里插入图片描述

  1. 以变量形式挂载到pod中

创建kind为pod的yaml文件secret-val.yaml
在这里插入图片描述
运行创建上述yaml

kubectl apply -f secret-val.yaml

在这里插入图片描述
进入mypod容器,即可获取到挂载的数据

kubectl exec -it mypod bash #进入容器

echo $SECRET_USERNAME #获取挂载的变量

在这里插入图片描述

1.1.2 数据卷形式挂载

  1. 创建secret-vol.yaml
    第一个红框为挂载目录
    第二个红框为前面创建的mysecret
    在这里插入图片描述
  2. 运行创建上述yaml
kubectl apply -f secret-vol.yaml

在这里插入图片描述

  1. 进入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 cm

kubectl describe cm redis-config

在这里插入图片描述
3. Volume数据卷形式挂载
创建cm.yaml文件
在这里插入图片描述

1.2.1 变量形式挂载到Pod容器中

  1. 首先我们有一个 myconfig.yaml文件,声明变量信息,然后以configmap创建
    在这里插入图片描述
  2. 然后我们就可以创建我们的配置文件
# 创建pod
kubectl apply -f myconfig.yaml
# 获取
kubectl get cm

在这里插入图片描述
3. 然后我们创建完configmap后,我们就需要再创建一个 config-var.yaml 来使用我们的配置信息
在这里插入图片描述
4.查看输出

kubectl logs mypod

在这里插入图片描述

2. 集群安全机制

当我们访问K8S集群时,需要经过三个步骤完成具体操作

  1. 认证
  2. 鉴权【授权】
  3. 准入控制

进行访问的时候,都需要经过 apiserver, apiserver做统一协调
访问过程中,需要证书、token、或者用户名和密码
如果访问pod需要serviceAccount

(1)认证

对外不暴露8080端口,只能内部访问,对外使用的端口6443

客户端身份认证常用方式:
1. https证书认证,基于ca证书
2. http token认证,通过token来识别用户
3. http基本认证,用户名 + 密码认证

(2)鉴权

基于RBAC进行鉴权操作

基于角色访问控制

(3)准入控制

就是准入控制器的列表,如果列表有请求内容就通过,没有的话 就拒绝

2.1 RBAC介绍

基于角色的访问控制,为某个角色设置访问内容,然后用户分配该角色后,就拥有该角色的访问权限

此部分可参考博客:https://blog.csdn.net/qq_38304320/article/details/121089389

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值