k8s配置健康检查

1.健康检查方式 1 判断容器是不是正常的,在没有健康检查的时候,k8s 只有在容器的入口程序被杀掉了 他才会进行 pod 的重启,其他的情况他都不会在意。

健康检查的配置:健康检查的探针,用来判断容器是不是存活的 ,这里是执行一条 shell 命令来判断这个容器是不是正常的,判断 java 进程是不是存在。这个 shell 执行的结果是 0 或非 0,为 0 的时候就是健康的,非 0 就是不健康的。健康检查非 0 的时候他是进行 pod 的重启。

这个探针就是发现程序有问题然后重启的
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
          image: '*****'
          imagePullPolicy: IfNotPresent
          livenessProbe:
            exec:
              command:
                - /bin/sh
                - '-c'
                - ps
                - '-ef|grep'
                - simu_ueps|grep
                - '-v'
                - grep
            failureThreshold: 3
            initialDelaySeconds: 60
            periodSeconds: 20
            successThreshold: 1
            timeoutSeconds: 10

image-20230428152557239

方式一:

从集群中每个节点获取 pod CIDR 地址。

1
kubectl get nodes -o jsonpath='{.items[*].spec.podCIDR}'
方式二:

kube-proxy 所使用的 pod 网络 CIDR。

1
kubectl cluster-info dump | grep -m 1 cluster-cidr
方式三:

--cluster-cidr / --pod-network-cidr反馈给 kube-controller-manager 的配置。

1
ps -ef | grep "cluster-cidr"
方式四:

在文件 /etc/kubernetes/manifests/kube-controller-manager.yaml 中的

1
2
3
4
# sudo grep cidr /etc/kubernetes/manifests/kube-*
/etc/kubernetes/manifests/kube-controller-manager.yaml:    - --allocate-node-cidrs=true
/etc/kubernetes/manifests/kube-controller-manager.yaml:    - --cluster-cidr=192.168.0.0/16
/etc/kubernetes/manifests/kube-controller-manager.yaml:    - --node-cidr-mask-size=24
方式五:

用 kubeadm 方式获取

1
kubeadm config view | grep Subnet
Licensed under CC BY-NC-SA 4.0
最后更新于 Jan 06, 2025 05:52 UTC
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计
Caret Up