当前位置: 代码网 > 服务器>服务器>云虚拟主机 > 安装ingress-nginx遇到的一些坑实战记录

安装ingress-nginx遇到的一些坑实战记录

2024年05月21日 云虚拟主机 我要评论
环境:linux:centos linux release 7.9.2009 (core)kubernetes:v1.23.5dokcer:20.10.14一、安装ingress-nginxwget

环境:

linux:centos linux release 7.9.2009 (core)

kubernetes:v1.23.5

dokcer:20.10.14

一、安装ingress-nginx

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.1/deploy/static/provider/cloud/deploy.yaml

二、修改deploy.yaml文件

1、注释掉external traffic policy:local

2、因默认镜像源国内无法访问 ,修改为dockerhub上的镜像源

修改controller/deploy的image:

image: bitnami/nginx-ingress-controller:1.1.2

 修改ingress.nginx-admission-create的image:

image: liangjw/kube-webhook-certgen:v1.1.1

 修改ingress-nginx-admission-patch的image:

image: liangjw/kube-webhook-certgen:v1.1.1

三、部署ingress-nginx

# kubectl apply -f deploy.yaml
查看pods部署状态
# kubectl get pods -n ingress-nginx -w
name                                        ready   status      restarts   age
ingress-nginx-admission-create-2mp7n        0/1     completed   0          3s
ingress-nginx-admission-patch-xrdf5         0/1     completed   0          3s
ingress-nginx-controller-859fb9b444-zq4n6   0/1     running     0          3s
ingress-nginx-controller-859fb9b444-zq4n6   1/1     running     0          20s

部署过程中可能遇到的报错如下

1、ingress-nginx-admission-create和ingress-nginx-admission-patch部署失败,报错如下

# kubectl logs -n ingress-nginx ingress-nginx-admission-create-bj4d4
w0418 01:48:48.738693       1 client_config.go:615] neither --kubeconfig nor --master was specified.  using the inclusterconfig.  this might not work.
{"err":"get \"https://10.20.0.1:443/api/v1/namespaces/ingress-nginx/secrets/ingress-nginx-admission\": dial tcp 10.20.0.1:443: i/o timeout","level":"fatal","msg":"error getting secret","source":"k8s/k8s.go:232","time":"2022-04-18t01:49:18z"}

解决方法:

在deploy.yaml中ingress-nginx-admission-create和ingress-nginx-admission-patch的job资源下的spec.template.spec中添加如下hostnetwork: true,重新部署

 2、ingress-nginx-controller报错如下:

# kubectl describe pod -n ingress-nginx ingress-nginx-controller-55bc668cd8-fbrjn
  warning  failedmount  8m51s (x3 over 8m53s)   kubelet            mountvolume.setup failed for volume "webhook-cert" : secret "ingress-nginx-admission" not found
  normal   pulled       8m11s (x4 over 8m45s)   kubelet            container image "registry.aliyuncs.com/google_containers/nginx-ingress-controller:v1.1.2@sha256:dcbc1b017e63a50ef369c4827d2d92334dce13ca0966712de45a8661ba97bc32" already present on machine
 
# kubectl logs -f ingress-nginx-controller-55bc668cd8-fbrjn -n ingress-nginx
standard_init_linux.go:228: exec user process caused: exec format error

 报错原因:镜像版本和环境版本不匹配,使用的阿里云的镜像,但是架构不一样,更换镜像为上面第二步中的镜像

3、更换镜像之后再次部署时,ingress-nginx-controller报错如下

# kubectl logs -f -n ingress-nginx ingress-nginx-controller-6b
w0418 07:38:49.717651       1 client_config.go:615] neither --kubeconfig nor --master was specified.  using the inclusterconfig.  this might not work.
i0418 07:38:49.717901       1 main.go:223] "creating api client" host="https://10.20.0.1:443"

这次的报错同ingress-nginx-admission-create报错,在ingress-nginx-controller的deployment中spec.template.spec中添加如下hostnetwork: true

修改完成后,重新部署即可 

总结

到此这篇关于安装ingress-nginx遇到的一些坑的文章就介绍到这了,更多相关安装ingress-nginx坑内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com