• Kubernetes(k8s)Pod的生命周期


    Kubernetes pod 初始化

    init C :初始换容器

    Pod 能够具有多个容器,应用运行在容器里面,但是它也可能有一个或多个先于应用容器启动的  Init容器

    Init 容器与普通的容器非常像,除了如下两点:  

    • Ø Init 容器总是运行到成功完成为止  
    • Ø 每个 Init 容器都必须在下一个 Init 容器启动之前成功完成  

    如果 Pod Init 容器失败,Kubernetes 会不断地重启该 Pod,直到  Init 容器成功为止。然而

    如果 Pod 对应的 restartPolicy Never,它不会重新启动
     

    因为 Init 容器具有与应用程序容器分离的单独镜像,所以它们的启动相关代码具有如下优势:

    Init 容器  

    init 模板 

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

    等待init的初始化。

    kind: Service
    apiVersion: v1
    metadata:
      name: myservice
    spec:
      ports:
        - protocol: TCP
          port: 80
          targetPort: 9376
    

    kind: Service
    apiVersion: v1
    metadata:
      name: mydb
    spec:
      ports:
        - protocol: TCP
          port: 80
          targetPort: 9377

    两个initC已经初始换完成

  • 相关阅读:
    ReportMachine打印条形码的问题
    性能测试基础知识
    jmeter请求参数中文乱码及无法读取CSV文件解决办法
    soapui学习
    java环境变量和查看安装路径
    python字典中显示中文
    Jmeter做webservices接口测试
    windows 上robot framework 读取sqlite3提示:OperationalError: unable to open database file错误
    c++ 复习练习
    笔记草稿。
  • 原文地址:https://www.cnblogs.com/heian99/p/12266821.html
Copyright © 2020-2023  润新知