模拟题目:
设置配置环境:
[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/
解答:
切换环境
kubectl config use-context k8s
检查
kubectl -n ingress-kk get all
发现没有svc, svc所需要的东西来自deployment和ingress,
deployment中找 标签,targetport,
kubectl -n ingress-kk get deployments.apps nginxdep -oyaml
ingress中找svc所需的svc名和port
创建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之前
创建svc后
也可以使用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