5. 【CKS】考试之TLS通信配置
5.1 题目要求
修改 API server 和 etcd 之间通信的 TLS 配置。
1. 对于 API server,删除对除 TLS 1.3 及更高版本之外的所有 TLS 版本的支持。此外,删除对除TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 之外的所有 cipher suites 的支持。
2. 对于 etcd,删除对除 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 之外的所有 cipher suites 的支持
5.2 官网位置
- 官网搜索: kube-apiserver 查找到:–tls-min-version(支持的最低TLS版本)、–tls-cipher-suites (服务器的密码套件的列表,以逗号分隔)
- 搜索:https://etcd.io/docs/v3.4/op-guide/security/
5.3 操作步骤
切记:切换context
5.3.1 apiserver配置更改
登录到 master 节点之后
vim /etc/kubernetes/manifests/kube-apiserver.yaml
apiVersion: v1
kind: Pod
metadata:
annotations:
kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 172.30.60.35:6443
creationTimestamp: null
labels:
component: kube-apiserver
tier: control-plane
name: kube-apiserver
namespace: kube-system
spec:
containers:
- command:
- kube-apiserver
- --tls-min-version=VersionTLS13 # 添加部分
- --tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 #添加部分
...
5.3.2 ETCD配置修改
vim /etc/kubernetes/manifests/etcd.yaml
apiVersion: v1
kind: Pod
metadata:
annotations:
kubeadm.kubernetes.io/etcd.advertise-client-urls: https://172.30.60.35:2379
creationTimestamp: null
labels:
component: etcd
tier: control-plane
name: etcd
namespace: kube-system
spec:
containers:
- command:
- etcd
- --cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 #添加部分
5.3.3 修改后重启
systemctl restart kubelet