linux怎么查看本机内存大小
315
2022-09-09
k8s实验-健康检查
健康检查
使用存活探针
1 创建文件
mkdir -p ~/huawei_k8s/labfile/probefilecd ~/huawei_k8s/labfile/probefile
2 创建使用execaction模式的存活探针pod文件liveness-exec.yaml
apiVersion: v1kind: Podmetadata: labels: test: liveness name: liveness-execspec: containers: - name: liveness args: - /bin/sh - -c - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600 image: busybox livenessProbe: exec: command: - cat - /tmp/healthy initialDelaySeconds: 5 perioSeconds: 5
3 创建pod
kubectl apply -f liveness-exec.yaml
4 使用kubectl get pod -w 监控pod状态,可以看到pod反复重启
kubectl get pod -w
5 查看pod详细信息
kubectl describe pod liveness-exec
确认反复重启,通过event项,确认探针工作流程
6 创建使用liveness-v1kind : Podmetadata: labels: test: liveness name: liveness- containers: - name: liveness image: mirrorgooglecontainers/liveness args: - /server livenessProbe: path: /healthz port: 8080 - name: X-Custom-Header value: Awesome initialDelaySeconds: 3 perioSeconds: 3
7 创建该pod
8 观察pod的变化
kubectl get pod -w
9 查看events
kubectl describe pod liveness-创建使用tcp存活探针的pod的yaml,模板采用liveness-tcp.yamlapiVersion: v1kind: Podmetadata: name: liveness-tcp labels: app: containers: - name: image: livenessProbe: tcpSocket: port: 80 initialDelaySeconds: 10 periodSeconds: 10
11 创建pod,等待完成
12 进入容器内部,修改提供服务的端口,从默认的80修改为8080,并重启容器内部的exec -it liveness-tcp /bin/bashsed -i "52c listen 8080" /usr/local/apache2/conf/-i "241c ServerName localhost:8080" /usr/local/apache2/conf/-k restartexit
13 等待一段时间后,可以看到pod的restarts次数变成了,由于未通过存活探针检测,pod进行了重启,因此业务又恢复正常,并且端口也恢复到了默认的80端口
kubectl get pod
14 使用describe命令查看pod之前未通过liveness的记录
kubectl describe pod
使用readliness探针
1 创建apps/v1kind: Deploymentmetadata: name: replicas: 3 selector: matchLabels: app: template: metadata: labels: app: spec: containers: - name: image: ports: - containerPort: 80 readinessProbe: exec: command: - cat - /usr/local/apache2/htdocs/index.html initialDelaySeconds: 5 periodSeconds: 5
2 创建deloyment
3 创建v1kind: Servicemetadata: name: selector: app: ports: - protocol: TCP port: 8080 targetPort: 80
4创建 service
kubectl apply -f 查看服务endpoint
kubectl describe service 进入一个容器,删除/usr/local/apache2/htdocs/index.html文件
kubectl exec -it /bin/shrm /usr/local/apache2/htdocs/index.html
7 使用descibe命令查看endpoint,可以看到pod地址已经从endpoint中移除
kubectl describe service 查看pod的详细信息,可以看到pod未通过探针检测
9 查看pod信息,可以看到pod处于notready状态
kubectl get pod
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~