zoukankan      html  css  js  c++  java
  • kubernets之init容器作用

    一  init容器的作用

      1.1  init容器是在pod的生命周期,保证该pod运行的一些前置条件满足之后才开始运行这个pod,例如需要依赖一些其他的pod,服务等,可以去对这些服务的状态进行检测,等所有前置的pod都好了才开始运行主容器,一个例子如下所示。

    apiVersion: v1
    kind: Pod
    metadata:
      name: init-pod
      labels:
        app: init
    spec:
      containers:
      - name: init-container
        image: busybox
        command: ['sleep','999999']
      initContainers:
      - name: initService
        image: busybox
        command: ['sh','-c','until nslookup myservice;do echo waiting for myservice;sleep 2;done;']
      - name: initMydb
        image: busybox
        command: ['sh','-c','until nslookup mydb;do echo waiting for mydb;sleep 2;done;']

      1.2 创建一下看看这个pod会发生什么

    [root@node01 Chapter17]# k get po
    NAME        READY   STATUS     RESTARTS   AGE
    init-pod1   0/1     Init:0/2   0          2s
    • STATUS这一栏有2个前置容器未就绪,所以主容器也无法ready

      1.3 创建让initContainers就绪的svc

    kind: Service
    apiVersion: v1
    metadata:
      name: initService
    spec:
      ports:
      - protocol: TCP
        port: 80
        targetPort: 6376
    apiVersion: v1
    kind: Service
    metadata:
      name: initMydb
    spec:
      ports:
      - protocol: TCP
        port: 80
        targetPort: 6377

      

      1.4  之后在查看容器的运行状态

    [root@node01 Chapter17]# k get po
    NAME        READY   STATUS     RESTARTS   AGE
    init-pod1   0/1     Init:0/2   0          14s
    
    [root@node01 Chapter17]# k get po
    NAME        READY   STATUS     RESTARTS   AGE
    init-pod1   0/1     Init:0/2   0          15s
    
    [root@node01 Chapter17]# k get po
    NAME        READY   STATUS    RESTARTS   AGE
    init-pod1   1/1     Running   0          75s
    • 在所有的前置容器都运行成功之后
    • 主容器也成功的运行起来了
  • 相关阅读:
    HTML_严格模式与混杂模式
    不要和一种编程语言厮守终生:为工作正确选择(转)
    iOS开发编码建议与编程经验(转)
    UTF-8 和 GBK 的 NSString 相互转化的方法
    UICollectionView 总结
    UIViewController的生命周期及iOS程序执行顺序
    objective-c 中随机数的用法
    clipsToBounds 与 masksToBounds 的区别与联系
    网络请求 代码 系统自带类源码
    iOS CGRectGetMaxX/Y 使用
  • 原文地址:https://www.cnblogs.com/wxm-pythoncoder/p/14334859.html
Copyright © 2011-2022 走看看