zoukankan      html  css  js  c++  java
  • [置顶] kubernetes--Init Container

    概念

    Init Container就是做初始化工作的容器。可以有一个或多个,如果有多个,这些 Init Container 按照定义的顺序依次执行,只有所有的InitContainer 执行完后,主容器才启动。由于一个Pod里的存储卷是共享的,所以 Init Container 里产生的数据可以被主容器使用到。

    Init Container可以在多种K8S资源里被使用到如Deployment、DaemonSet, PetSet/StatefulSet、Job等,但归根结底都是在Pod启动时,在主容器启动前执行,做初始化工作。

    应用场景

    等待其它模块Ready

    比如使用apache部署web服务,需要做一些准备工作(例如从git服务器上拉取代码、检查运行环境是否到位等),可以在运行Web服务的Pod里使用一个InitContainer,去执行准备工作,完成后Init Container结束退出,然后启动正在的apache容器。

    做初始化配置

    比如集群里检测所有已经存在的成员节点,为主容器准备好集群的配置信息,这样主容器起来后就能用这个配置信息加入集群。

    例子

    cat << EOF >lykops-deploy-init-container.yaml
    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
     name: lykops-deploy-init-container
     labels:
       project: lykops
       app: init-container
       version: v1        
     annotations:
       pod.beta.kubernetes.io/init-containers:
        -name: apache-web,
         image: web:apache,
         command: ["sh", "httpd -t"]
    spec:
     replicas: 1
     minReadySeconds: 30
     selector:
       matchLabels:
         name: lykops-deploy-init-container
         project: lykops
         app: init-container
         version: v1
     template:
        metadata:
         labels:
           name: lykops-deploy-init-container
           project: lykops
           app: init-container
           version: v1
       spec:
         containers:
         - name: webapache
           image: web:apache
           command: [ "sh", "/etc/run.sh" ]
           ports:
           - containerPort: 80
             name: http
             protocol: TCP
    EOF
    kubectl create -f lykops-deploy-init-container.yaml


  • 相关阅读:
    [Angularjs]ng-switch用法
    [Asp.net Mvc]通过UrlHelper扩展为js,css静态文件添加版本号
    [转]支持高并发的IIS Web服务器常用设置
    [Redis]c# redis缓存辅助类
    [asp.net mvc]自定义filter
    [C#]exchange发送,收件箱操作类
    [bug]The file ‘/xxx/xxx.aspx’ has not been pre-compiled, and cannot be requested
    [Angularjs]自定义指令
    mycat介绍
    fdLocalSql使用方法
  • 原文地址:https://www.cnblogs.com/lykops/p/7419931.html
Copyright © 2011-2022 走看看