Context

一个现有的 Kubernetes 集群,英通过更新其中一部分组件的 TLS 配置来进行加固。

Task

修改 API 服务器和 etcd 之间通信的 TLS 配置。
对于 API 服务器,删除对除 TLS 1.3 及更高版本之外的所有 TLS 版本的支持。
此外,删除对象 TLS_AES_128_GCM_SHA256 之外的所有密码套件的支持。
确保应用配置的更改
对于 etcd,删除对象 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 之外的所有密码套件的支持。
确保应用配置的更改

解:
这里跟14一样找到配置位置
CKS备考15-TLS安全配置_tls
CKS备考15-TLS安全配置_tls_02
这道题需要修改kube-apiserver和etcd的配置,etcd配置不属于kubernetes.io官网,考试不能查
CKS备考15-TLS安全配置_cks_03
kube-apiserver的配置,搜索tls
CKS备考15-TLS安全配置_k8s_04

# 转到master节点上,kubernetes配置文件在master节点
ssh master01
# 备份apiserver文件,不能直接备份到配置文件夹,会引起配置冲突,这里我备份到/tmp
cp /etc/kubernetes/manifests/kube-apiserver.yaml /tmp/kube-apiserver.yaml
# 修改api-server配置文件
vim /etc/kubernetes/manifests/kube-apiserver.yaml
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

CKS备考15-TLS安全配置_tls_05

    # 按题目添加配置密码套件和指定TLS最小版本
    - --tls-cipher-suites=TLS_AES_128_GCM_SHA256
    - --tls-min-version=VersionTLS13
  • 1.
  • 2.
  • 3.
# 重启服务
systemctl daemon-reload
systemctl restart kubelet
# 等待3分钟,查看服务状态,特别是kube-apiserver这个pod
kubectl get pods -A
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

CKS备考15-TLS安全配置_tls_06

修改etcd

# 备份etcd配置文件,跟上面配置一样,备份到/tmp文件夹
cp /etc/kubernetes/manifests/etcd.yaml /tmp/etcd.yaml
# 修改配置文件
vim /etc/kubernetes/manifests/etcd.yaml
  • 1.
  • 2.
  • 3.
  • 4.

CKS备考15-TLS安全配置_k8s_07

# 这里选项如果自己添加记得就是上面同密码套件配置名(tls-cipher-suites),不过没有tls
- --cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • 1.
  • 2.
# 重启服务
systemctl daemon-reload
systemctl restart kubelet
# 等待3分钟,查看服务状态,特别是kube-apiserver和etcd这两个pod
kubectl get pods -A
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

CKS备考15-TLS安全配置_tls_08