支持的版本(查看自己的kubernetes版本替换安装过程中的版本选择合适的版本安装)
安装过程:
这里不采用helm的方式,而是采用YAML manifest的方式来安装。
下载ingress-nginx的https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.1/deploy/static/provider/cloud/deploy.yaml 重命名为 ingress-nginx-deploy.ymal
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.4/deploy/static/provider/cloud/deploy.yaml -O ingress_v1.9.4.yaml
出现如下异常:
--2023-07-06 09:05:24-- https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.4/deploy/static/provider/cloud/deploy.yamlResolving raw.githubusercontent.com (raw.githubusercontent.com)... 0.0.0.0, ::Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|0.0.0.0|:443... failed: Connection refused.Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|::|:443... failed: Connection refused.
可以通过科学上网来解决。
解决下载yaml文件的问题后,可以开始安装了。
kubectl apply -f ingress_v1.9.4.yaml
安装日志如下:
查看进度:
kubectl get pod -A -owide
下图可以发现已经下载失败了
查看pod有啥错误发生:
kubectl describe pod ingress-nginx-admission-create-nktxk
会发现ingress-nginx- XX的POD处于ImagePullBackOff、ContainerCreating状态。
又回到老问题了,registry.k8s.io 镜像仓库由于墙的问题访问不了。
国内知名的k8s镜像有如下几个:
registry.lank8s.cn
registry.cn-hangzhou.aliyuncs.com/google_containers
gcr.azk8s.cn(2020年开始已经只限于Azure中国的IP使用了)
阿里云的镜像没有命令空间,有时候要变化路径,另外是定期同步的,所以有的时候要改名或者缺失。
比如安装ingress-nginx的时候,涉及2个镜像,需要如下方式来替换:
registry.k8s.io镜像地址 | 阿里云镜像地址 |
registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20230407 | registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v20230407 |
registry.k8s.io/ingress-nginx/controller:v1.9.4 | registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.9.4 |
lank8s的镜像是实时的,并且保持原样的命名空间,只需要更换前缀即可,很好用,这是一个个人支持的镜像,大家有余力可以多赞助一下。
比如安装ingress-nginx的时候,涉及2个镜像,需要如下方式来替换:
registry.k8s.io镜像地址 | lank8s镜像地址 |
registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20230407 | registry.lank8s.cn/ingress-nginx/kube-webhook-certgen:v20230407 |
registry.k8s.io/ingress-nginx/controller:v1.9.4 | registry.lank8s.cn/ingress-nginx/controller:v1.9.4 |
将ingress-nginx-deploy.yaml文件中的镜像地址registry.k8s.io替换为 registry.lank8s.cn后再安装即可。
kubectl apply -f ingress_v1.9.4.yaml
由于 registry.lank8s.cn只保证可靠性,不保证下载速度,所以可能需要等几分钟才能下载完镜像,所以也要等几分钟来查看ingress-nginx的controller状态。
至此ingress-nginx-controller创建成功,可以开始创建ingress规则开始
附:v1.9.4ingess分享地址链接:百度网盘 请输入提取码
提取码:eb2x