您的位置:首页 > 新闻 > 热点要闻 > 厦门旅游必去十大景点_东营政府网官网_近期新闻大事_淘宝关键词排名怎么查

厦门旅游必去十大景点_东营政府网官网_近期新闻大事_淘宝关键词排名怎么查

2025/1/9 11:59:19 来源:https://blog.csdn.net/m0_64940629/article/details/145016390  浏览:    关键词:厦门旅游必去十大景点_东营政府网官网_近期新闻大事_淘宝关键词排名怎么查
厦门旅游必去十大景点_东营政府网官网_近期新闻大事_淘宝关键词排名怎么查

ingress-nginx-controller安装

ingress-nginx-controller是配置ingress发布的基础。以下主要采用Helm安装。地址:

GitHub - kubernetes/ingress-nginx: Ingress NGINX Controller for Kubernetes

1 Helm安装

安装不难,需要找到合适的压缩包就行。我自己的安装过程忘了,以下为其他人的安装过程。高版本更加适配高版本。

# 下载
wget https://get.helm.sh/helm-v3.10.0-linux-amd64.tar.gz# 解压
tar -zxvf  helm-v3.10.0-linux-amd64.tar.gz# 将解压目录下的 helm 程序移动到 usr/local/bin/helm,先进入到解压目录后拷贝
cp helm /usr/local/bin/# 查看版本 验证是否成功
helm version
# version.BuildInfo{Version:"v3.10.0", ........}

2 下载ingress-nginx

# 安装对应的helm仓库(注意:以下灵感为国内仓库,但是根据失败经验而谈,还是github上的版本更加合适。如下:)
helm repo add azure http://mirror.azure.cn/kubernetes/charts
helm repo add aliyun http://mirror.kaiyuanshe.cn/kubernetes/charts/# 以下添加的为ingress-nginx的仓库。通常,每个项目都会有自己的 Helm 仓库 URL。
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
# 查看版本
[root@k8s-master ingress-nginx]# helm  repo list
NAME         	URL                                       
stable       	http://mirror.azure.cn/kubernetes/charts  
bitnami      	https://charts.bitnami.com/bitnami        
ingress-nginx	https://kubernetes.github.io/ingress-nginx# 在仓库搜索到自己想要的版本。helm search repo ingress-nginx。但是我比较懒,直接下载了最新的。
# 下载
helm fetch ingress-nginx/ingress-nginx
#解压缩
tar -zxvf ingress-nginx-4.12.0.tgz
cd ingress-nginx
[root@k8s-master ingress-nginx]# ls
changelog  Chart.yaml  ci  OWNERS  README.md  README.md.gotmpl  templates  tests  values.yaml

3 修改配置文件(最重要的)

[root@k8s-master ingress-nginx]# vim values.yaml # 具体修改的地方全部列出来了。#第一处,修改仓库名称和镜像名称,经过测试,registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.12.0可以成功使用。
#这里特别注意有一个前提,如果是在集群中部署项目使用ingress-nginx,需要提前在工作节点下载docker或者containerd,手动拉取从而测试该仓库和镜像是否可用,手动拉取的命令是[root@k8s-node1 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.12.0
。一定要记住。
#继续修改,对以下这段还需要注释digestcontroller:name: controllerenableAnnotationValidations: trueimage:## Keep false as default for now!chroot: falseregistry: registry.cn-hangzhou.aliyuncs.comimage: google_containers/nginx-ingress-controller## for backwards compatibility consider setting the full image url via the repository value below## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail## repository:tag: "v1.12.0"#digest: sha256:e6b8de175acda6ca913891f0f727bca4527e797d52688cbe9fec9040d6f6b6fa#digestChroot: sha256:87c88e1c38a6c8d4483c8f70b69e2cca49853bb3ec3124b9b1be648edf139af3pullPolicy: IfNotPresentrunAsNonRoot: true# 第二处修改:同样修改仓库和镜像名称,以及注释digestreadOnlyRootFilesystem: trueresources: {}patch:enabled: trueimage:registry: registry.cn-hangzhou.aliyuncs.comimage: google_containers/kube-webhook-certgen## for backwards compatibility consider setting the full image url via the repository value below## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail## repository:tag: v1.5.0#digest: sha256:aaafd456bda110628b2d4ca6296f38731a3aaf0bf7581efae824a41c770a8fc4pullPolicy: IfNotPresent# -- Provide a priority class name to the webhook patching job##priorityClassName: ""# 第三处都是一些小的修改:# false 改成 truehostNetwork: true# 第四处# ClusterFirst 改成 dnsPolicy: ClusterFirstWithHostNet# 第5处添加标签。记得在节点上打上标签。kubectl label node k8s-node1 ingress=truenodeSelector:kubernetes.io/os: linux# 增加ingress: "true"# 第6处# -- Use a `DaemonSet` or `Deployment`# Deployment 改成 DaemonSetkind: DaemonSet# 第7处,enabled要改为falseadmissionWebhooks:name: admissionannotations: {}# ignore-check.kube-linter.io/no-read-only-rootfs: "This deployment needs write access to root filesystem".## Additional annotations to the admission webhooks.## These annotations will be added to the ValidatingWebhookConfiguration and## the Jobs Spec of the admission webhooks.enabled: false# 第8处,找到controller.service.type,修改为NodePort,这是由于要向外部暴露服务。该type的缩进在controller.service下,一定要找到正确的进行修改。
controller service.annotations: {}# -- Labels to be added to both controller services.labels: {}# -- Type of the external controller service.# Ref: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-typestype: NodePort# 第9处。修改registry为自己的设置,而不是官方的k8s,否则会出现拉取镜像时,镜像拉取仓库改不过来的情况。
## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/index.md
##global:image:# -- Registry host to pull images from.registry: registry.cn-hangzhou.aliyuncs.com
## Overrides for generated resource names
# See templates/_helpers.tpl

4 安装

# 给ingress-nginx 创建独有的命名空间
kubectl create ns ingress-nginx# 给master节点,添加标签ingress=true
kubectl label node k8s-master ingress=true# 安装ingress-nginx,后面的“.”,表示从当前目录开始安装,查找配置文件
helm install ingress-nginx -n ingress-nginx .

如果安装成功的话,会出现一串信息。也可以执行以下命令,出现以下状态,才是安装成功。

[root@k8s-master java-web-demo]# kubectl get pods -n ingress-nginx
NAME READY STATUS RESTARTS AGE
ingress-nginx-controller-ddz9m 1/1 Running 0 16m
ingress-nginx-controller-wrh4l 1/1 Running 0 16m

5 注意

1、如果安装成功,出现一串信息,但是kubectl get pods -n ingress-nginx该命令下状态有异常的话。

执行kubectl describe pod 有异常的ingress-nginx名称 -n ingress-nginx

查看日志,一般都是镜像拉取失败和健康检查不过关的问题。

镜像拉取失败分两种

  • 拉取仓库没有改变,还是官方仓库。这一处的问题一般是关于kube-webhook-certgen拉取不到。

    这种在修改配置文件的时候提到,需要更改第9处。

  • 镜像拉取不到

    这种可以尝试手动拉取在节点上和更换仓库。

    手动拉取的命令:

    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.4.1

健康检查不过关需要增加时间,官方健康检查太过于严格了。

2、真的出现上述异常但是按照上述方式修改了之后,可以执行以下命令更新。

helm upgrade ingress-nginx ingress-nginx/ingress-nginx \
>   --namespace ingress-nginx \
>   --values ./values.yaml

3、不过我的建议是卸载重装,避免有缓存。

helm uninstall ingress-nginx -n ingress-nginxhelm install ingress-nginx -n ingress-nginx .

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com