網站首頁 編程語言 正文
環境:
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
修改完成后,重新部署即可?
總結
原文鏈接:https://blog.csdn.net/weixin_38797137/article/details/124251698
相關推薦
- 2022-05-22 分享幾種python?變量合并方法_python
- 2022-09-03 Redis實現Session共享與單點登錄_Redis
- 2023-01-18 pip?search報錯問題及解決_python
- 2022-08-28 Redis唯一ID生成器的實現_Redis
- 2022-05-13 larvel8 批量刪除
- 2022-09-08 深入了解Go語言的基本語法與常用函數_Golang
- 2022-08-28 centos 單機版redis安裝與數據持久化
- 2022-09-05 Hbase 之KeyValue結構詳解
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支