这篇文章主要介绍了kubernetes中Pod初始化容器之Init Container的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联是专业的高邑网站建设公司,高邑接单;提供成都网站设计、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行高邑网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
一:前言
在很多应用场景中,应用在启动之前都需要进行如下初始化操作
1. 等待其他关联组件正确运行(例如数据库)
2.基于环境变量或配置模版生成配置文件
3.从远程数据库获取本地所需配置,或者将自身注册到某个中央数据库中
4.下载相关依赖包,或者对系统进行一些配置操作
Init container与应用容器本质上是一样的,但他们是仅运行一次就结束的任务,并且必须在成功执行完成后,系统才能继续执行下一个容器。
二:实例
nginx-init-containers.yaml
- apiVersion: v1 
- kind: Pod 
- metadata: 
- name: nginx 
- spec: 
- initContainers: 
- - name: install 
- image: busybox 
- command: 
- - wget 
- - "-O" 
- - "/work-dir/index.html" 
- - http://kubernetes.io 
- volumeMounts: 
- - name: workdir 
- mountPath: "/work-dir" 
- containers: 
- - name: nginx 
- image: nginx 
- ports: 
- - containerPort: 80 
- volumeMounts: 
- - name: workdir 
- mountPath: /usr/share/nginx/html 
- volumes: 
- - name: workdir 
- emptyDir: {} 
kubectl create -f  nginx-init-containers.yaml
kubectl describe pod nginx
三:说明
init container与应用容器的区别
1.运行方式不同,它们必须先于应用容器执行完成,当设置了多个init container时,将按顺序逐个运行,当所有init container都成功运行后,kubernetes才会初始化Pod的各种信息。
2.在init container的定义中也可以设置资源限制,volume的使用和安全策略,但与应用容器略有不同
3.init container不能设置readinessProbe探针,因为必须在它们成功运行后才能继续运行Pod中定义的普通容器
4.在Pod重新启动时,init container将会重新运行
感谢你能够认真阅读完这篇文章,希望小编分享的“kubernetes中Pod初始化容器之Init Container的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
网页名称:kubernetes中Pod初始化容器之InitContainer的示例分析
文章分享:http://www.cqwzjz.cn/article/gophpg.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 