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

 更新时间:2022年09月13日 11:22:25   作者:令溶炎  
ingress是kubernetes集群对外暴露服务的一种方式,下面这篇文章主要给大家介绍了关于安装ingress-nginx遇到的一些坑,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

环境:

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坑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • CentOS 8.2 k8s 基础环境配置

    CentOS 8.2 k8s 基础环境配置

    这篇文章主要介绍了CentOS 8.2 k8s 基础环境配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • 如何使用Kubernetes自定义资源(CRD)详解

    如何使用Kubernetes自定义资源(CRD)详解

    自定义资源定义(CRD)是Kubernetes API扩展,可以定义新的对象类型,下面这篇文章主要给大家介绍了关于如何使用Kubernetes自定义资源(CRD)的相关资料,需要的朋友可以参考下
    2022-09-09
  • 关于k8s中subpath的使用详解

    关于k8s中subpath的使用详解

    这篇文章主要介绍了k8s中subpath的使用,文章介绍分为两种情况给大家详细讲解,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • K8S命令如何查看日志

    K8S命令如何查看日志

    文章内容总结:K8S命令查看日志,列出所有节点、切换节点、查看容器日志及部分日志内容,个人经验分享,希望对大家有所帮助
    2024-11-11
  • kubernetes k8s 存储动态挂载配置详解

    kubernetes k8s 存储动态挂载配置详解

    这篇文章主要为大家介绍了kubernetes k8s 存储动态挂载配置详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • K8S部署Kafka界面管理工具(kafkamanager)方法详解

    K8S部署Kafka界面管理工具(kafkamanager)方法详解

    这篇文章主要介绍了K8S部署Kafka界面管理工具(kafkamanager)方法详解,需要的朋友可以参考下
    2022-01-01
  • k8s中kubeconfig的配置以及使用详解

    k8s中kubeconfig的配置以及使用详解

    每当与集群交互的时候少不了的是身份认证,使用kubeconfig(即证书)和token两种认证方式是最简单也最通用的认证方式,下面这篇文章主要给大家介绍了关于k8s中kubeconfig的配置以及使用的相关资料,需要的朋友可以参考下
    2022-01-01
  • 详解Rainbond内置ServiceMesh微服务架构

    详解Rainbond内置ServiceMesh微服务架构

    这篇文章主要为大家介绍了详解Rainbond内置ServiceMesh微服务架构,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • RFO SIG之openEuler AWS AMI 制作详解

    RFO SIG之openEuler AWS AMI 制作详解

    这篇文章主要为大家介绍了RFO SIG之openEuler AWS AMI 制作详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • K8s准入控制Admission Controller深入介绍

    K8s准入控制Admission Controller深入介绍

    本篇我们将聚焦于 kube-apiserver 请求处理过程中一个很重要的部分 -- 准入控制器(Admission Controller)深入讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04

最新评论