4. 配置ingress开放外部访问
k8s是一个集群,deployment、service都是集群内部的资源,他们通过一个内部虚拟网络互相访问。但是对于外部的用户,这些所有的资源都是不可见的,所以我们还需要配置一个外部访问的入口到service的映射规则,从而将内部服务暴露出去。
本步骤将指导您如何使用ingress的来实现服务对外暴露的需求。
- 执行如下命令,创建ingress.yaml文件。
vim ingress.yaml
- 按i键进入编辑模式,将如下代码复制到文件中,定义ingress规则,然后按ECS退出编辑模式,输入:wq后按下Enter键保存并退出。
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example-ingress namespace: app-ns spec: ingressClassName: nginx #default ingress class. optional rules: - http: paths: - backend: service: name: myapp-service port: number: 80 path: / pathType: Prefix
- 执行如下命令,运行ingress.yaml文件,部署ingress。
kubectl apply -f ~/ingress.yaml
- 执行如下命令,查看部署的ingress。
kubectl get ingress -n app-ns
返回结果如下,您可查看到访问地址的IP,以及端口是80。如果您的返回结果中ADDRESS为空,表示ingress正在部署,请您稍等片刻,再次执行上述命令。
- 在您的本机浏览器中,打开新页签,在地址栏中访问http://ADDRESS:80。
说明:您需要将ADDRESS改为上一步骤的命令返回结果中的ADDRESS。
返回如下页面,您即可开始使用部署的魔方应用。