5、创建 Ingress
题目:
设置配置环境:
[candidate@node-1] $ kubectl config use-context k8s
Task
如下创建一个新的 nginx Ingress 资源:
名称: ping
Namespace: ing-internal
使用服务端口 5678 在路径 /hello 上公开服务 hello
可以使用以下命令检查服务 hello 的可用性,该命令应返回 hello:
curl -kL <INTERNAL_IP>/hello
考点:
Ingress 的创建
参考链接:
依次点击 Concepts → Services, Load Balancing, and Networking → Ingress (看不懂英文的,可右上角翻译成中文)
https://kubernetes.io/zh-cn/docs/concepts/services-networking/ingress/
解答:
更换 context
$ kubectl config use-context k8s
创建 ingressclass
$ vim ingressclass.yaml
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
labels:
app.kubernetes.io/component: controller
name: nginx
annotations:
ingressclass.kubernetes.io/is-default-class: "true"
spec:
controller: k8s.io/ingress-nginx
$ kubectl apply -f ingressclass.yaml
创建 ingress
$ vim ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ping
namespace: ing-internal
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /hello
pathType: Prefix
backend:
service:
name: hello
port:
number: 5678
$ kubectl apply -f ingress.yaml
检查
$ kubectl apply -f ingress.yaml
也可以 curl 一下 ingress 地址