K8S 检查 unhealthy Get “http://127.0.0.1:10251/healthz“: connect: connection refused

> k get cs
NAME                 STATUS      MESSAGE                                                                                                  ERROR
scheduler            Unhealthy   Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection refused              
controller-manager   Unhealthy   Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused     

问题现象

部署完master节点以后,执行kubectl get cs命令来检测组件的运行状态时,报如下错误:

1

2

3

4

5

6

7

8

9

[root@k8s-master yum.repos.d]# kubectl get cs

Warning: v1 ComponentStatus is deprecated in v1.19+

NAME                 STATUS      MESSAGE                                                                                       ERROR

scheduler            Unhealthy   Get "http://127.0.0.1:10251/healthz": dial tcp 127.0.0.1:10251: connect: connection refused  

controller-manager   Unhealthy   Get "http://127.0.0.1:10252/healthz": dial tcp 127.0.0.1:10252: connect: connection refused  

etcd-0               Healthy     {"health":"true"}                                                                            

[root@k8s-master yum.repos.d]# wget http://127.0.0.1:10251/healthz

--2020-11-14 00:10:51--  http://127.0.0.1:10251/healthz

Connecting to 127.0.0.1:10251... failed: Connection refused.

 

原因分析

出现这种情况,是/etc/kubernetes/manifests/下的kube-controller-manager.yaml和kube-scheduler.yaml设置的默认端口是0导致的,解决方式是注释掉对应的port即可,操作如下:

 

1

2

3

4

5

[root@k8s-master manifests]# ls

etcd.yaml  kube-apiserver.yaml  kube-controller-manager.yaml  kube-scheduler.yaml

[root@k8s-master manifests]# pwd

/etc/kubernetes/manifests

[root@k8s-master manifests]#

kube-controller-manager.yaml文件修改:注释掉27行
1 apiVersion: v1
2 kind: Pod
3 metadata:
4 creationTimestamp: null
5 labels:
6 component: kube-controller-manager
7 tier: control-plane
8 name: kube-controller-manager
9 namespace: kube-system
10 spec:
11 containers:
12 - command:
13 - kube-controller-manager
14 - --allocate-node-cidrs=true
15 - --authentication-kubeconfig=/etc/kubernetes/controller-manager.conf
16 - --authorization-kubeconfig=/etc/kubernetes/controller-manager.conf
17 - --bind-address=127.0.0.1
18 - --client-ca-file=/etc/kubernetes/pki/ca.crt
19 - --cluster-cidr=10.244.0.0/16
20 - --cluster-name=kubernetes
21 - --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
22 - --cluster-signing-key-file=/etc/kubernetes/pki/ca.key
23 - --controllers=*,bootstrapsigner,tokencleaner
24 - --kubeconfig=/etc/kubernetes/controller-manager.conf
25 - --leader-elect=true
26 - --node-cidr-mask-size=24
27 # - --port=0
28 - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
29 - --root-ca-file=/etc/kubernetes/pki/ca.crt
30 - --service-account-private-key-file=/etc/kubernetes/pki/sa.key
31 - --service-cluster-ip-range=10.1.0.0/16
32 - --use-service-account-credentials=true

kube-scheduler.yaml配置修改:注释掉19行,- --port=0
1 apiVersion: v1
2 kind: Pod
3 metadata:
4 creationTimestamp: null
5 labels:
6 component: kube-scheduler
7 tier: control-plane
8 name: kube-scheduler
9 namespace: kube-system
10 spec:
11 containers:
12 - command:
13 - kube-scheduler
14 - --authentication-kubeconfig=/etc/kubernetes/scheduler.conf
15 - --authorization-kubeconfig=/etc/kubernetes/scheduler.conf
16 - --bind-address=127.0.0.1
17 - --kubeconfig=/etc/kubernetes/scheduler.conf
18 - --leader-elect=true
19 # - --port=0

然后在master节点上重启kubelet,systemctl restart kubelet.service,然后重新查看就正常了

1

2

3

4

5

6

7

8

9

10

11

[root@k8s-master manifests]# vim kube-controller-manager.yaml

[root@k8s-master manifests]# vim kube-scheduler.yaml

[root@k8s-master manifests]# vim kube-controller-manager.yaml

[root@k8s-master manifests]# systemctl restart kubelet.service

[root@k8s-master manifests]# kubectl get cs

Warning: v1 ComponentStatus is deprecated in v1.19+

NAME                 STATUS    MESSAGE             ERROR

scheduler            Healthy   ok                 

controller-manager   Healthy   ok                 

etcd-0               Healthy   {"health":"true"}  

[root@k8s-master manifests]#

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
立法,即使是出于善意,有时也无法提供理想的结果。 通过设计,立法过程受到“噪音”的困扰,通常是由多种动机驱动的。 不可避免地,立法过程会产生一些错误。 尽管存在这些错误,但关于立法程序机制的法律讨论还是不完整的,尚不完善。 本章重点关注消费者保护立法,旨在弥补其中的一些空白。 它提出了两个互补的论点。 在描述上,本章简要指出了立法过程中的一些主要弱点。 它说明了消费者保护法不仅可能无法达到预期效果,而且还会适得其反并损害消费者。 本章从规范和规范上呼吁对消费者保护立法采取微妙而全面的态度。 它主张采取更加谨慎和量身定制的消费者保护立法,这得益于健康的怀疑态度。 本章确定了改善消费者立法过程的四项原则。 首先是更谨慎的立法方法,其中立法机构以循序渐进的方式发展。 提出的第二个原则是从多学科,基于证据的经验角度探讨立法程序。 第三个原则建议采用谦虚的决策程序,该程序采用临时的消费者保护法。 最后,第四项原则将某些或更多的立法和政策责任分散和委派给行政机构和消费者组织。 本章借鉴了欧洲,北美,澳大利亚,新西兰和以色列的消费者保护示例。 但是,它本质上是大体上通用的。 如果证明成功,则可以在其他司法管辖区和其他领域扩大和实施建议的设计原则。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值