k8s部署ingress-nginx-controller
registry.k8s.io/ingress-nginx/controller:v1.3.0 替换为 registry.cn-hangzhou.aliyuncs.com/sjr/ingress-nginx-controller:v1.3.0(此为通过下面方法下载到自己仓库的镜像)2、在阿里云容器镜像服务创建一个镜像仓库ingress-nginx-controller,并且需要绑定GitHub,如
使用Ingress之前提是先部署好Ingress-Controller,查看版本(GitHub - kubernetes/ingress-nginx: Ingress-NGINX Controller for Kubernetes)。K8s v1.24.1版本需要部署Ingress NGINX Controller v1.3.0版本
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.3.0/deploy/static/provider/cloud/deploy.yaml #下载
由于此yaml中的镜像源是国外的,而国内无法访问,需要修改成国内镜像源。
共需修改两处:
registry.k8s.io/ingress-nginx/controller:v1.3.0 替换为 registry.cn-hangzhou.aliyuncs.com/sjr/ingress-nginx-controller:v1.3.0(此为通过下面方法下载到自己仓库的镜像)
registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.1.1 替换成 registry.aliyuncs.com/google_containers/kube-webhook-certgen:v1.1.1
kubectl apply -f nginx/ingress-nginx-controller-v1.3.0.yaml #文件放在了nginx文件夹下
执行部署后ingress-nginx-controller的Service会是pending状态,解决方法为:
1、部署MetalLB负载均衡器
2、修改type: LoadBalancer 为type: NodePort (目前使用这种)
下载国外镜像方法:
下载国外镜像方法一
#对于k8s.gcr.io、gcr.io的镜像,国内不能下载,可使用以下方法下载(GitHub - anjia0532/gcr.io_mirror: all of the gcr.io docker image mirror)
wget https://raw.githubusercontent.com/anjia0532/gcr.io_mirror/master/pull-k8s-image.sh chmod +x pull-k8s-image.sh #下载并设权限 ./pull-k8s-image.sh k8s.gcr.io/ingress-nginx/controller:v1.3.0
下载国外镜像方法二
国外镜像源registry.k8s.io不可使用上面方法。使用guihub和阿里云镜像服务拉取(https://www.cnblogs.com/straycats/p/14405513.html?spm=a2c6h.12873639.article-detail.9.65fa77703dwKjJ)
1、 创建git仓库,并新建Dockerfile文件
文件内容如下(以registry.k8s.io/ingress-nginx/controller:v1.3.0镜像为例)
# FROM <要拉取的镜像>
FROM registry.k8s.io/ingress-nginx/controller:v1.3.0
2、在阿里云容器镜像服务创建一个镜像仓库ingress-nginx-controller,并且需要绑定GitHub,如下图设置
3、 点击“构建”后,点击“添加规则”
其中Branch/Tag对应GitHub的Branch/Tag
4、 最后点构建,等待一
等待一会,构建日志就会有成功的记录。
更多推荐
所有评论(0)