模拟题目

设置配置环境:

[candidate@node-1] $ kubectl config use-context k8s

Task

在namespace ingress-kk 下有一个 ingress ,但是它貌似不能被正常访问 请排除出原因,并修复。

请注意,这道题的deployment 是正确的,请不要修改 deployment 。

参考

https://kubernetes.io/zh-cn/docs/concepts/services-networking/service/

ingress-2-0

解答

切换环境

kubectl config use-context k8s

检查

kubectl -n ingress-kk get all

ingress-2-1

发现没有svc, svc所需要的东西来自deployment和ingress,

deployment中找 标签,targetport,

kubectl -n ingress-kk get deployments.apps nginxdep -oyaml

ingress-2-2

ingress中找svc所需的svc名和port

ingress-2-3

创建svc,使用命令吧

#查看svc,ingress
kubectl -n ingress-kk get svc,ingress -owide
kubectl -n ingress-kk expose deployment nginxdep --name nginxsvc-kk --port 80 --target-port 80 --selector name=nginx-lab
curl 10.102.130.182

没有svc之前

ingress-2-4

创建svc后

ingress-2-5

也可以使用yaml文件进行创建

cat <<"EOF" | kubectl apply -f -
---
apiVersion: v1
kind: Service
metadata:
name: nginxsvc-kk
namespace: ingress-kk
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
name: nginx-lab
EOF