Task
通过TLS加强kube-apiserver安全配置,要求
- kube-apiserver除了 TLS 1.3 及以上的版本可以使用,其他版本都不允许使用。
- 密码套件(Cipher suite)为 TLS_AES_128_GCM_SHA256
通过TLS加强ETCD安全配置,要求
- 密码套件(Cipher suite)为 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
参考
https://kubernetes.io/zh-cn/docs/reference/command-line-tools-reference/kube-apiserver/
解答
切换集群
kubectl config user-context KSRS00501
远程到 master 并切换到 root
ssh master01
sudo -i
修改 kube-apiserver, 养成 修改之前备份文件的好习惯
mkdir bakyaml
cp /etc/kubernetes/manifests/kube-apiserver.yaml bakyaml/
vim /etc/kubernetes/manifests/kube-apiserver.yaml
添加或修改相关内容,并保存(先检查一下,如果考试环境里已经给你这两条了,则你只需要修改即可)
- --tls-cipher-suites=TLS_AES_128_GCM_SHA256
- --tls-min-version=VersionTLS13
等待3分钟,等集群应用策略后,再检查kube-apiserver,确保Running。
kubectl -n kube-system get pod
修改 ETCD
cp /etc/kubernetes/manifests/etcd.yaml bakyaml/
vim /etc/kubernetes/manifests/etcd.yaml
添加或修改相关内容,并保存
- --cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
修改完成后,需要等待3分钟,等集群应用策略后,再检查一下所有pod,特别是etcd和kube-apiserver两个pod,确保模拟环境是正常的。
kubectl get pod -A
kubectl -n kube-system get pod