init container
文章目录
- 应用场景
- 介绍
- 示例
- init container 与普通应用容器区别
- init container 中的资源请求/限制
应用场景
- 等待其他关联组件正确运行
- 基于环境变量或配置模板生产配置文件
- 从远处数据库获取本地所需配置,或者将自身注册到某个中央数据库中
- 下载相关依赖包,或者对系统进行一些预配置操作
介绍
init container 与应用容器在本质上是一样的,但是它们仅是运行一次就结束的任务,并且必须在成功运行完成后,系统才能继续执行下一个容器。
init container 的重启策略建议设置为 OnFailure。
示例
下面是一个以 Nginx 应用为例,在启动 Nginx 之前,通过初始化容器 busybox 为 Nginx 创建一个 index.html 主页文件,这里为 busybox 和Nginx 设置了一个共享的 Volume,以供 Nginx 访问 init container 设置的 index.html。
apiVersion: v1
kind: Pod
meatdate:name: nginx
spec:initContainers:- name: busyboximage: busybox:latestcommand:- wget- "-o"- "/work-dir/index.html"- http://kubernetes.iovolumeMounts:- name: workdirmountPath: "/work-dir"containers:- name: nginximage: nginxports:- containerPort: 80volumeMounts:- name: workdirmountPath: "/usr/share/nginx/html"dnsPolicy: Defaultvolumes:- name: workdiremptyDir: {}
init container 与普通应用容器区别
1)init container 必须先于应用容器执行完成,当设置了多个 init container 时,将按照顺序逐个执行,并且只有前一个 init container 执行成功了才能运行下一个。
2)在 init container 的定义中也可以设置资源限制、Volume 的使用和安全策略等
3)init container 不能设置 readinessProbe 探针。
init container 中的资源请求/限制
1)如果多个 init container 都设置了资源请求/限制,则以最大的为准
2)如果上一条存在,则 Pod 中的最大资源请求/限制为:所有普通容器资源请求/限制之和和上面的大的为准
3)依据上两条,所以 init container 可以为初始化操作预留系统资源,即使后续容器无需使用这些资源
4)Pod 的有效 QoS 等级适用于 init container 和 应用容器
init container相关推荐
- k8s 查看mysql 日志_k8s 使用 Init Container 确保依赖的服务已经启动
k8s 使用 Init Container 确保依赖的服务已经启动 Intro 最近 helm 3 正式发布了,dotnetcore 3.1 也正式发布了,最近打算把我的活动室预约项目做一个升级,项目 ...
- ABAP和Go语言的初始化操作, Kubernetes的Init Container
ABAP Go 作用同上: Kubernetes Init Container在所有容器运行之前执行(run-to-completion),常用来初始化配置. YMAL文件里的具体用法: 要获取更多J ...
- k8s 使用 Init Container 确保依赖的服务已经启动
k8s 使用 Init Container 确保依赖的服务已经启动 Intro 最近 helm 3 正式发布了,dotnetcore 3.1 也正式发布了,最近打算把我的活动室预约项目做一个升级,项目 ...
- Kubernetes Init Container
Kubernetes Init Container 在很多场景中,应用在启动之前都需要进行如下初始化操作. 等待其他关联组件正确运行(例如数据库或某个后台服务). 基于环境变量或配置模板生成配置文件. ...
- linux container容器技术框架性理解
我对container原理的一些理解(基于linux kernel 2.6.38) by kin 2011.04.17 ======================================== ...
- 容器编排技术 -- Init 容器
容器编排技术 -- Init 容器 1 理解 Init 容器 1.1 与普通容器的不同之处 2 Init 容器能做什么? 2.1 示例 2.2 使用 Init 容器 3 具体行为 3.1 资源 3.2 ...
- HPA monitoring cpu utilization fails for deployments which have init containers
HPA monitoring cpu utilization fails for deployments which have init containers 1. 背景 2. 环境 3. 问题 4. ...
- Swing 实现聊天系统 私发与群发
该系统使用的了socket.swing相关知识,实现了一个简单的群聊和私聊的系统. 1.程序界面功能展示 服务端swing界面展示 客户端服务展示 用户上线与发送消息客户端与服务端 私发消息 相关代码 ...
- jQuery EasyUI API 中文文档 - DataGrid 数据表格
扩展自 $.fn.panel.defaults ,用 $.fn.datagrid.defaults 重写了 defaults . 依赖 panel resizable linkbutton pagin ...
最新文章
- 《精通 ASP.NET MVC 3 框架(第三版)》----第2章 准备工作 2.1 准备工作站
- arguments don‘t support automatic differentiation, but one of the arguments
- 介绍importlib
- Tomcat 教程之快速入门
- python激活虚拟环境source不是内部或外部_激活虚拟环境的问题
- 防范攻击 加强管控 - 数据库安全的16条军规
- sql文件建立mysql库_使用.SQL文件创建MySQL数据库
- 【IDEAEclipse】4、IntelliJ IDEA上操作GitHub
- Android中AMS工作原理,Android AMS启动详解
- 【Django 2021年最新版教程17】数据库操作 models 存在更新 不存在新建update_or_create
- Luogu1712 [NOI2016] 区间
- 小米路由器 charles无法抓包
- 我的世界java版如何加披风_我的世界正版披风怎么换
- 计算机的次要功能,FRM考试时所用计算器的操作指南
- Mugeda(木疙瘩)H5案例课—拍拍员工被玩坏了-岑远科-专题视频课程
- Visual Studio调用约定 __cdecl、__stdcall和__fastcall
- MPLS-虚拟专用网络
- Cheat Enginee(CE)的详细使用指南~包含下载安装教程以及核心功能讲解
- fanyibishe
- 淘宝居然还有卖代码的
热门文章
- 当游戏直播也要授权的背后:利益之争让各路人马杀红眼
- 2.Docker入门到精通—常用命令
- python 写入文件后读取为空的问题
- uniapp选择图片裁剪,上传到服务器
- Win10桌面右键,显示设置报错,解决办法
- 无限法则无法更新服务器,无限法则不支持32为客户端怎么办_无限法则不支持32为客户端解决办法_玩游戏网...
- Notion AI入门教程
- java计算机毕业设计员工培训管理系统源码+数据库+系统+lw文档+部署
- 华为手机linux多屏协同,华为MateBook D Linux版开卖 支持多屏协同与智慧互传
- 解决死锁之路(终结篇) - 再见死锁