zoukankan      html  css  js  c++  java
  • kubernetes 健康检查和初始化容器

    Pod-hook:
    postStart:
    1.
    $ $ vim preStart-hook.yaml
    ---
    apiVersion: v1
    kind: Pod
    metadata:
      name: hook-demo1
      labels:
        app: hook
    spec:
      containers:
      - name: hook-demo1
        image: nginx
        ports:
        - name: webport
          containerPort: 80
        lifecycle:
          postStart:
            exec:
              command: ["/bin/sh", "-c", "echo Hello from the postStart Hander > /usr/share/message"]

              
    $ kubectl exec hook-demo1  -i -t  /bin/bash          
    preStop:
    2.强制删除
    $ kubectl delete pod hook-demo1 --force --grace-period=0

    $ vim preStop-hook.yaml
    ---
    apiVersion: v1
    kind: Pod
    metadata:
      name: hook-demo2
      labels:
        app: hook
    spec:
      containers:
      - name: hook-demo2
        image: nginx
        ports:
        - name: webport
          containerPort: 80
        volumeMounts:
        - name: message
          mountPath: /usr/share
        lifecycle:
          preStop:
            exec:
              command: ["/bin/sh", "-c", "echo Hello from the postStop Hander > /usr/share/message"]
      volumes:
      - name: message
        hostPath:
          path: /tmp

    普通的pod是不能被调度到master节点上面来的


    存活探针:
    liveness probe
    $ vim liveness-exec.yaml
    ---
    apiVersion: v1
    kind: Pode
    metadata:
      name: liveness-exec
      labels:
        app: liveness
    spec:
      containers:
      - name: liveness
        images: busybox
        args:
        - /bin/sh
        - -c
        - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
        livenessProbe:
          exec:
            command:
            - cat
            - /tmp/healthy
          initialDelaySeconds: 5
          periodSeconds: 5

          
    初始化容器-initcontainer
    $ vim initpod1.yaml

    ---
    apiVersion: v1
    kind: Pod
    metadata:
      name: init-pod
      labels:
        app: init

    spec:
      initContainers:
      - name: init-myservice
        image: busybox
        command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
      - name:
        image: busybox
        command: ['sh', '-c', 'until nslookup mydb; do echo waiting for mydb; sleep 2; done;']
      containers:
      - name: main-container
        image: busybox
        command: ['sh', '-c', 'echo The app is running! && sleep 3600']
       

  • 相关阅读:
    [币严区块链]数字货币交易所之比特币(BTC)钱包对接 | 自建节点JSON-RPC访问
    [币严区块链]以太坊(ETH)Dapp开发入门教程之宠物商店领养游戏
    一句话的设计模式
    在线捉鬼游戏开发
    华容道程序求解
    利用多态,实现一般处理程序(ashx)中的AOP(切面编程)
    客户端-服务器端互动比较与原生实例(比较ajax,server-sent event,websocket/netsocket)
    在线捉鬼游戏开发之三
    在线捉鬼游戏开发之三
    在线捉鬼游戏开发之三
  • 原文地址:https://www.cnblogs.com/fuyuteng/p/10906656.html
Copyright © 2011-2022 走看看