07 k8s考试基础知识(六)

本文详细描述了在Kubernetes中如何使用不同的健康检查机制,如TCPsocket端口和HTTPGET路径,以及部署策略(Deployment)中的匹配标签和表达式,以确保容器应用的健康监控。
摘要由CSDN通过智能技术生成

插一嘴, 健康检查

cat << eof | k apply -f  - -n csdn-test
apiVersion: v1
kind: Pod
metadata: {name: pod-with-tcp-socket-healthcheck}
spec:
  containers:
  - name: nginx
    image: nginx
    livenessProbe:
      tcpSocket: {port: 80}
      initialDelaySeconds: 30
      timeoutSeconds: 1
    ports: [ containerPort: 80]
eof
    livenessProbe:
      tcpSocket:
        port: 80
      # 或者下面这个
      httpGet:
        path: /_status/healthz
        port: 80
      # 或者下面这个
      exec:
        command:
        - cat
        - /tmp/health
      initialDelaySeconds: 10
      timeoutSeconds: 1

插一嘴 env

env:
- name: GET_HOST_FROM
  value: env
- name: APPLOGLEVEL
  valueFrom:
    configMapKeyRef:
      name: cm-appvars
      key: apploglevel

插一嘴 matchExpressions

k explain deploy
selector:
  matchLabels:
    tier: frontend
  matchExpressions:
  - { key: tier, operator: In, values: [frontend] }
  - {key: environment, operator: NotIn, values: [dev]}
cat << eof | k apply -f - -n csdn-test
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy-lab
spec:
  replicas: 3
  selector:
    matchLabels:
      tier: backend
    matchExpressions:
    - { key: aa, operator: In, values: [frontend] }
    - {key: environment, operator: NotIn, values: [dev]}
  template:
    metadata:
      labels:
        tier: backend
        aa: frontend
        environment: bac
    spec:
      containers:
      - image: nginx
        name: p1
        livenessProbe:
          tcpSocket:
            port: 80
        readinessProbe:
          httpGet:
            path: /
            port: 80
eof
k get deployment.apps/deploy-lab
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值