API Server 启用 Aggregator Routing 支持。否则 API Server 不识别请求:
kube-system
命名空间Pod资源使用情况:
# 查看节点资源使用情况
kubectl top nodes
Kubernetes节点资源使用情况:
6、修改scheduler
、controller-manager
和kube-proxy
监听地址
默认scheduler
、controller-manager
组件监听端口是在127.0.0.1
上的:
后期如果提供Prometheus
监控这些组件的时候,无法获取到127.0.0.1
上的数据,所以我们需要将这些端口的监听地址修改为物理机的网卡IP上。
6.1 修改scheduler组件的监听地址
vim /etc/kubernetes/manifests/kube-scheduler.yaml
需要将下图中四个部分进行修改:
- 将
- --bind-address=127.0.0.1
修改为实际的主机IP
- 删除
- --port=0
- 将
livenessProbe
下httpGet
中的host: 127.0.0.1
修改为实际的主机IP
- 将
startupProbe
下httpGet
中的host: 127.0.0.1
修改为实际的主机IP
修改后如下图所示:
保存退出后,需要重启所有节点(所有master节点和worker节点)上的kubelet
修改就会生效:
systemctl restart kubelet.service
修改后再次查看监听端口:
6.2 修改controller-manager组件监听地址
vim /etc/kubernetes/manifests/kube-controller-manager.yaml
将下图中四个部分进行修改:
- 将
- --bind-address=127.0.0.1
修改为实际的主机IP
- 删除
- --port=0
- 将
livenessProbe
下httpGet
中的host: 127.0.0.1
修改为实际的主机IP
- 将
startupProbe
下httpGet
中的host: 127.0.0.1
修改为实际的主机IP
修改为下图所示:
保存退出后,需要重启所有节点(所有master节点和worker节点)上的kubelet
修改就会生效:
systemctl restart kubelet.service
修改后再次查看监听端口:
6.3 修改Kube-proxy组件的监听地址
kubectl edit configmaps -n kube-system kube-proxy
将下图中对应的metricsBindAddress
修改为0.0.0.0:10249
:
修改之后的内容如下图所示:
修改完成之后,保存退出,并且需要重启kube-proxy对应的Pod:
kubectl get pods -n kube-system | grep kube-proxy |awk '{print $1}' | xargs kubectl delete pods -n kube-system
重启完之后查看监听地址:
6.4 检查
netstat -lntp | grep :10249
netstat -lntp | grep :10251
netstat -lntp | grep :10252
最终效果如下:
7、重置节点
# 重置主节点(k8s-master01)
kubeadm reset
rm -rf /root/.kube/
rm -rf /etc/kubernetes/
systemctl restart kubelet.service