1/23
在 Kubernetes 中,Ingress 暴露出 HTTP 和 HTTPS 路由,可以接受外部流量后转发内部服务,相当于一个入口。
课程中使用的 Ingress 实现是 Nginx Ingress,使用的是 ingress-nginx 这个由社区维护的项目,而不是 kubernetes-ingress 这个由 Nginx 公司维护的。
ingress-nginx 官网地址:https://kubernetes.github.io/ingress-nginx/
-
安装
先应用配置:
wuxianmimi kubernetes-complex % kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.5.1/deploy/static/provider/cloud/deploy.yaml
namespace/ingress-nginx created
serviceaccount/ingress-nginx created
serviceaccount/ingress-nginx-admission created
role.rbac.authorization.k8s.io/ingress-nginx created
role.rbac.authorization.k8s.io/ingress-nginx-admission created
clusterrole.rbac.authorization.k8s.io/ingress-nginx created
clusterrole.rbac.authorization.k8s.io/ingress-nginx-admission created
rolebinding.rbac.authorization.k8s.io/ingress-nginx created
rolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created
clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx created
clusterrolebinding.rbac.authorization.k8s.io/ingress-nginx-admission created
configmap/ingress-nginx-controller created
service/ingress-nginx-controller created
service/ingress-nginx-controller-admission created
deployment.apps/ingress-nginx-controller created
job.batch/ingress-nginx-admission-create created
job.batch/ingress-nginx-admission-patch created
ingressclass.networking.k8s.io/nginx unchanged
validatingwebhookconfiguration.admissionregistration.k8s.io/ingress-nginx-admission created
wuxianmimi kubernetes-complex %
在视频中,接下来会使用 minikube addons enable ingress 命令,但是咪咪本地运行此命令会报错,网上找了很多解决办法试了试都无法解决问题。
而且经过测试,这条命令与上一条 kubectl apply 命令只要运行了其中一条,那剩下那条命令运行就会报错。
这里写继续往下走流程。
-
配置
在 k8s 目录创建 ingress-service.yaml:
# 从 Kubernetes 1.19 起改名了
# Kubernetes 1.22 开始只支持 networking.k8s.io/v1
# apiVersion: extensions/v1beta1
apiVersion
咪咪本地的 Kubernetes 版本是 v1.25.3,视频中使用的 apiVersion 已无法使用,所以配置格式有点不同。
在终端 kubectl apply 应用配置,随后通过 minikube ip 获取虚拟机IP地址,在浏览器访问该地址来访问我们的服务。
Mac 用户还是在终端输入 minikube service 命令来获取访问 URL:
wuxianmimi kubernetes-complex % minikube service ingress-nginx-controller --url -n ingress-nginx
http://127.0.0.1:62664
http://127.0.0.1:62665
❗ Because you are using a Docker driver on darwin, the terminal needs to be open to run it.
启动成功,且可正常使用
尝试提交了几个值,可以正常运行。
-
minikube 控制台
在命令行输入 minikube dashboard 可以打开控制台:
wuxianmimi ~ % minikube dashboard
🔌 正在开启 dashboard ...
▪ Using image docker.io/kubernetesui/dashboard:v2.7.0
▪ Using image docker.io/kubernetesui/metrics-scraper:v1.0.8
💡 Some dashboard features require the metrics-server addon. To enable all features please run:
minikube addons enable metrics-server
🤔 正在验证 dashboard 运行情况 ...
🚀 Launching proxy ...
🤔 正在验证 proxy 运行状况 ...
🎉 Opening http://127.0.0.1:59433/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...
会自动打开页面:


浙公网安备 33010602011771号