minikube addons enable ingress 启动错误

开启 minkube ingress 时错误

minikube addons enable ingress --alsologtostderr

Verifying ingress addon...
Verifying ingress addon...
I1002 16:59:15.398329 827754 kapi.go:75] Waiting for pod with label "app.kubernetes.io/name=ingress-nginx" in ns "kube-system" ...
I1002 16:59:15.416235 827754 kapi.go:86] Found 2 Pods for label selector app.kubernetes.io/name=ingress-nginx
I1002 16:59:15.416270 827754 kapi.go:96] waiting for pod "app.kubernetes.io/name=ingress-nginx", current state: Pending: [<nil>]
I1002 16:59:15.920492 827754 kapi.go:96] waiting for pod "app.kubernetes.io/name=ingress-nginx", current state: Pending: [<nil>]
I1002 16:59:16.419519 827754 kapi.go:96] waiting for pod "app.kubernetes.io/name=ingress-nginx", current state: Pending: [<nil>]
I1002 16:59:16.919852 827754 kapi.go:96] waiting for pod "app.kubernetes.io/name=ingress-nginx", current state: Pending: [<nil>]
I1002 16:59:17.419814 827754 kapi.go:96] waiting for pod "app.kubernetes.io/name=ingress-nginx", current state: Pending: [<nil>]

查看对应POD启动日志

k get pods -A

kube-system            ingress-nginx-controller-56b4dfdb44-xfp2c   0/1     ImagePullBackOff   0          96s

k logs ingress-nginx-controller-56b4dfdb44-xfp2c -n kube-system

Error from server (BadRequest): container "controller" in pod "ingress-nginx-controller-56b4dfdb44-xfp2c" is waiting to start: trying and failing to pull image

查看POD详细信息

k describe pod/ingress-nginx-controller-56b4dfdb44-xfp2c -n kube-system

Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling <unknown> 0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports.
Warning FailedScheduling <unknown> 0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports.
Normal Scheduled <unknown> Successfully assigned kube-system/ingress-nginx-controller-56b4dfdb44-xfp2c to minikube
Normal Pulling 2m1s (x4 over 3m30s) kubelet, minikube Pulling image "registry.cn-hangzhou.aliyuncs.com/google_containers/controller:v0.40.2"
Warning Failed 2m1s (x4 over 3m29s) kubelet, minikube Failed to pull image "registry.cn-hangzhou.aliyuncs.com/google_containers/controller:v0.40.2": rpc error: code = Unknown desc = Error response from daemon: pull access denied for registry.cn-hangzhou.aliyuncs.com/google_containers/controller, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
Warning Failed 2m1s (x4 over 3m29s) kubelet, minikube Error: ErrImagePull
Warning Failed 105s (x6 over 3m29s) kubelet, minikube Error: ImagePullBackOff
Normal BackOff 91s (x7 over 3m29s) kubelet, minikube Back-off pulling image "registry.cn-hangzhou.aliyuncs.com/google_containers/controller:v0.40.2"

重点错误信息:

Back-off pulling image "registry.cn-hangzhou.aliyuncs.com/google_containers/controller:v0.40.2"

一般我们都是用的阿里云的容器镜像源,但是controller:v0.40.2版本的镜像不存在。

通过搜索有其他镜像可以用

registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:0.25.1
registry.aliyuncs.com/google_containers/nginx-ingress-controller:0.26.1

要想修改POD镜像,需要从 deployment 对象 ingress-nginx-controller 开始。

k get  deployment --all-namespaces
NAMESPACE              NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
kube-system ingress-nginx-controller 0/1 1 0 20h

图1

图2

对上图两处image参数进行修改。使用上面的两个镜像地址选一个替换。

删掉历史ReplicaSet 对象。

k get rs --all-namespaces

POD启动权限相关错误

k get pods -A
NAMESPACE              NAME                                        READY   STATUS             RESTARTS   AGE
kube-system ingress-nginx-controller-79b88546bb-vpxlr 0/1 CrashLoopBackOff 26 112m
0 8h
k logs ingress-nginx-controller-79b88546bb-vpxlr -n kube-system
-------------------------------------------------------------------------------
NGINX Ingress controller
Release: 0.26.1
Build: git-2de5a893a
Repository: https://github.com/kubernetes/ingress-nginx
nginx version: openresty/1.15.8.2 ------------------------------------------------------------------------------- W1002 11:08:49.444500 7 flags.go:243] SSL certificate chain completion is disabled (--enable-ssl-chain-completion=false)
W1002 11:08:49.444562 7 client_config.go:541] Neither --kubeconfig nor --master was specified. Using the inClusterConfig. This might not work.
I1002 11:08:49.444686 7 main.go:182] Creating API client for https://10.96.0.1:443
I1002 11:08:49.459177 7 main.go:226] Running in Kubernetes cluster version v1.20 (v1.20.0) - git (clean) commit af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38 - platform linux/amd64
F1002 11:08:49.608094 7 ssl.go:389] unexpected error storing fake SSL Cert: could not create PEM certificate file /etc/ingress-controller/ssl/default-fake-certificate.pem: open /etc/ingress-controller/ssl/default-fake-certificate.pem: permission denied

编辑 deployment 修改runAsUser=33

图3

图4

创建 ingress 错误

k create -f kubia-ingress.yaml
error when creating "kubia-ingress.yaml": Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post "https://ingress-nginx-controller-admission.kube-system.svc:443/networking/v1beta1/ingresses?timeout=10s": x509: certificate signed by unknown authority

这个比较好处理,网上能找到办法。直接删除准入验证。

详细参考:https://kubernetes.io/zh/docs/reference/access-authn-authz/extensible-admission-controllers/

kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission

最新文章

  1. jQuery学习之路(5)- 简单的表单应用
  2. Autofac - 事件
  3. 关闭dialog(lhgdialog)
  4. 【干货分享】32本优秀的 JavaScript 免费电子书
  5. NOI Linux JAVA
  6. LeetCode &quot;Minimum Height Tree&quot; !!
  7. Heibernate 入门笔记(一)---第一个demo
  8. HTML5学习笔记四:html5结构
  9. sklearn.neural_network.MLPClassifier参数说明
  10. linux 软链接和硬链接的区别 和 inode 的理解
  11. 01: 腾讯云API-云服务器
  12. 新学python画一个爱心
  13. java的OSGi确实是个坑
  14. Linux 如何通过命令查看一个文件的某几行(中间几行或最后几行)
  15. Python subprocess.Popen() error (No such file or directory)
  16. vue.js中内联样式style三元表达式
  17. live555源码学习笔记之TaskScheduler
  18. 第十章&#160;优先级队列 (xa2)左式堆:合并
  19. Material Designer的低版本兼容实现(十)—— CheckBox &amp; RadioButton
  20. Android Intent参数传递

热门文章

  1. Hibernate脑图
  2. 传统表单提交文件上传,以及FormData异步ajax上传文件
  3. mzy git学习, 保留现场,恢复现场,以及bug分支处理(七)
  4. Linux c高级
  5. js与jquery获取input输入框中的值
  6. VS2017 提示找不到某个.dll库,或某个dll库丢失,原因
  7. 分享几个下载豆瓣资源的chrome插件
  8. nginx 开启,关闭,重启
  9. Linux centos7 find 命令
  10. 剑指offer计划5(查找算法中等版)---java