file

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/

file file


解答

切换集群

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

file