安裝ingress-nginx遇到的一些坑實(shí)戰(zhàn)記錄
環(huán)境:
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、因默認(rèn)鏡像源國(guó)內(nèi)無法訪問 ,修改為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部署狀態(tài) # 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
部署過程中可能遇到的報(bào)錯(cuò)如下
1、ingress-nginx-admission-create和ingress-nginx-admission-patch部署失敗,報(bào)錯(cuò)如下
# 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報(bào)錯(cuò)如下:
# 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
報(bào)錯(cuò)原因:鏡像版本和環(huán)境版本不匹配,使用的阿里云的鏡像,但是架構(gòu)不一樣,更換鏡像為上面第二步中的鏡像
3、更換鏡像之后再次部署時(shí),ingress-nginx-controller報(bào)錯(cuò)如下
# 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"
這次的報(bào)錯(cuò)同ingress-nginx-admission-create報(bào)錯(cuò),在ingress-nginx-controller的Deployment中spec.template.spec中添加如下hostNetwork: true
修改完成后,重新部署即可
總結(jié)
到此這篇關(guān)于安裝ingress-nginx遇到的一些坑的文章就介紹到這了,更多相關(guān)安裝ingress-nginx坑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
k8s中如何實(shí)現(xiàn)pod自動(dòng)擴(kuò)縮容詳解
在實(shí)際生產(chǎn)系統(tǒng)中,經(jīng)常會(huì)遇到某個(gè)服務(wù)需要擴(kuò)容的場(chǎng)景,可能會(huì)遇到由于資源緊張或者工作負(fù)載降低而需要減少服務(wù)實(shí)例數(shù)量的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于k8s中如何實(shí)現(xiàn)pod自動(dòng)擴(kuò)縮容的相關(guān)資料,需要的朋友可以參考下2022-08-08k8s如何使用NFS作為StorageClass提供動(dòng)態(tài)存儲(chǔ)
本文主要介紹了k8s中的StorageClass,包括其定義、引入的原因、實(shí)現(xiàn)方式、定義方法以及回收策略對(duì)數(shù)據(jù)的影響等,首先,StorageClass是在K8s集群中創(chuàng)建用于動(dòng)態(tài)PV的管理,可以鏈接至不同的后端存儲(chǔ),對(duì)存儲(chǔ)的請(qǐng)求可以指向StorageClass2024-09-09centos搭建k8s環(huán)境詳細(xì)步驟及常用命令
kubernetes是google開源的容器集群管理系統(tǒng),提供應(yīng)用部署、維護(hù)、擴(kuò)展機(jī)制等功能,利用kubernetes能方便管理跨集群運(yùn)行容器化的應(yīng)用,這篇文章主要給大家介紹了關(guān)于centos搭建k8s環(huán)境詳細(xì)步驟及常用命令的相關(guān)資料,需要的朋友可以參考下2024-01-01kubernetes?k8s?CRD自定義資源學(xué)習(xí)筆記
這篇文章主要介紹了kubernetes?k8s?CRD自定義資源學(xué)習(xí)筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Istio 自動(dòng)注入 sidecar 失敗導(dǎo)致無法訪問webhook服務(wù)的解決方法
最近工作中在部署Istio環(huán)境的過程中發(fā)現(xiàn)官方示例啟動(dòng)的pod不能訪問不到Istio的webhook,這個(gè)問題也是困擾了我一天,我把他歸類到sidecar注入失敗的情況下,本文給大家分享問題解決方法,感興趣的朋友跟隨小編一起看看吧2023-10-10k8s 中的 service 如何找到綁定的 Pod 及實(shí)現(xiàn) 
service 是一組具有相同 label pod 集合的抽象,集群內(nèi)外的各個(gè)服務(wù)可以通過 service 進(jìn)行互相通信,這篇文章主要介紹了k8s 中的 service 如何找到綁定的 Pod 以及如何實(shí)現(xiàn) Pod 負(fù)載均衡,需要的朋友可以參考下2022-10-10Containerd容器運(yùn)行yum安裝與二進(jìn)制安裝
這篇文章主要為大家介紹了Containerd容器運(yùn)行yum安裝與二進(jìn)制安裝,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06