pod-创建对应的pod并cp对应的信息到宿主机
题目要求
- 在
dns-ns命名空间创建一个名为dns-rs-cka的 ReplicaSet,包含 2 个副本。 - 使用镜像
registry.k8s.io/e2e-test-images/jessie-dnsutils:1.3。 - 容器名为
dns-container,启动命令为sleep 3600。 - Pod 运行后,在任意一个 Pod 中执行
nslookup kubernetes.default,将输出保存到dns-output.txt。
操作步骤
1. 切换上下文(Context)
kubectl config use-context kubernetes-admin@kubernetes
2. 创建命名空间(如果不存在)
kubectl create namespace dns-ns
3. 创建 ReplicaSet YAML 文件
将以下内容保存为 dns-rs.yaml:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: dns-rs-cka
namespace: dns-ns
spec:
replicas: 2
selector:
matchLabels:
app: dns-app
template:
metadata:
labels:
app: dns-app
spec:
containers:
- name: dns-container
image: registry.k8s.io/e2e-test-images/jessie-dnsutils:1.3
command: ["sleep", "3600"]
4. 应用 YAML 文件
kubectl apply -f dns-rs.yaml
5. 验证 Pod 状态
kubectl get pods -n dns-ns
等待所有 Pod 状态变为 Running。
6. 执行 nslookup 并保存输出
- 进入任意一个 Pod:
kubectl exec -it -n dns-ns <pod-name> -- /bin/sh - 在 Pod 中执行命令:
nslookup kubernetes.default > /tmp/dns-output.txt - 退出 Pod:
exit - 将文件从 Pod 复制到本地:
kubectl cp -n dns-ns <pod-name>:/tmp/dns-output.txt ./dns-output.txt
关键命令总结
| 步骤 | 命令 |
|---|---|
| 切换上下文 | kubectl config use-context kubernetes-admin@kubernetes |
| 创建命名空间 | kubectl create namespace dns-ns |
| 创建 ReplicaSet | kubectl apply -f dns-rs.yaml |
| 检查 Pod | kubectl get pods -n dns-ns |
| 执行命令 | kubectl exec -it -n dns-ns <pod-name> -- nslookup kubernetes.default > dns-output.txt |
| 复制文件 | kubectl cp -n dns-ns <pod-name>:/tmp/dns-output.txt ./dns-output.txt |
验证输出
检查 dns-output.txt 内容应类似:
Server: 10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
Name: kubernetes.default
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local
注意事项
- 镜像拉取:确保集群能访问
registry.k8s.io(国内环境可能需要代理)。 - 权限问题:考试环境通常已配置好 RBAC,无需额外操作。
- 时间管理:如果 Pod 未及时启动,先检查事件:
kubectl describe rs -n dns-ns dns-rs-cka

这两个
coredns题目一模一样,我猜大概是题库有错。验证的时候显示:Validation system error, could not verify,系统有误无法验证。

浙公网安备 33010602011771号