【CKS最新模拟真题】Apiserver 安全

系列文章目录

【CKS最新模拟真题】获取多个集群的上下文名称并保存到指定文件中
【CKS最新模拟真题】Falco 的运行时安全性


文章目录


一、TASK

题目要求

Solve this question on: ssh cks7262

You received a list from the DevSecOps team which performed a security investigation of the cluster. The list states the following about the apiserver setup:

Accessible through a NodePort Service

Change the apiserver setup so that:

Only accessible through a ClusterIP Service

中译

在以下位置解决此问题:ssh cks7262

您收到了 DevSecOps 团队发送的列表,该团队对集群执行了安全调查。该列表说明了 apiserver 设置的以下内容:
1、可通过 NodePort 服务访问
2、更改 apiserver 设置,以便:

只能通过 ClusterIP 服务访问

二、问题解决过程

1、问题一解题

过程如下(示例):

shell 复制代码
#首先通过 ssh 进入 controlplane 节点,并检查 apiserver 进程正在使用哪些参数运行
#按要求连接对应的集群
candidate@terminal:~$ ssh cks7262

#切换到root用户下,防止普通用户操作写入文件没权限
candidate@cks7262:~$  sudo -i
root@cks7262:~# ps -ef |grep apiserver 
关注到这个 --kubernetes-service-node-port=31000

#检查 Service 并查看它的 NodePort 类型
root@cks7262:~# kubectl get svc
NAME         TYPE       CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
kubernetes   NodePort   10.96.0.1    <none>        443:31000/TCP   5d2h

#编辑apiserver.yml清单文件删除不安全的设置
root@cks7262:~# vim /etc/kubernetes/manifests/kube-apiserver.yaml
apiVersion: v1
kind: Pod
metadata:
  annotations:
    kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 192.168.100.11:6443
  creationTimestamp: null
  labels:
    component: kube-apiserver
    tier: control-plane
  name: kube-apiserver
  namespace: kube-system
spec:
  containers:
  - command:
    - kube-apiserver
    ...
    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
#    - --kubernetes-service-node-port=31000   # delete or set to 0
    - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
    - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
	...

#等待apiserver启动完成
root@cks7262:~# watch crictl ps

2、问题二解题

过程如下(示例):

shell 复制代码
#删除默认的svc,会自动创建新的svc,类型为clusterIP
root@cks7262:~# kubectl delete svc kubernetes 
相关推荐
logocode_li1 天前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s
人间打气筒(Ada)2 天前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
回忆是昨天里的海3 天前
k8s整体架构及核心组件
架构·k8s
没有bug.的程序员3 天前
Docker 与 K8s 生产级实战:从镜像极致优化到集群自动化部署全流程
spring cloud·docker·kubernetes·自动化·k8s·镜像·集群自动化
骂我的人都死了4 天前
DevOps架构部署
运维·ubuntu·docker·k8s·github·devops·python3.11
青衫客364 天前
从 TLS 到 Kubernetes PKI:一条证书链如何支撑整个集群安全(问题合集)
容器·kubernetes·k8s·tls
小白不想白a8 天前
pod调度--预选阶段(重点说容忍)
k8s·运维开发
_运维那些事儿10 天前
GitLabCI-CD入门
运维·ci/cd·容器·云计算·k8s·运维开发
yumenai_11 天前
【K8s 避坑指南】2026 最新 Kubernetes v1.28 + Containerd 安装全流程(内网/离线通用版)
ubuntu·云原生·容器·kubernetes·k8s
玄德公笔记11 天前
Prometheus监控k8s的metric详解(第二版)-01-scrape 指标抓取
kubernetes·k8s·prometheus·监控·metric·scrape·k8s监控