K8S学习之基础十:初始化容器和主容器

init容器和主容器

init容器和主容器的区别

  1. 初始化容器不支持 Readinessprobe,因为他们必须在pod就绪之前运行完成

  2. 每个init容器必须运行成功,下一个才能够运行

    定义两个初始化容器,完成后再运行主容器

    vi pod-init.yaml
    apiVersion: v1
    kind: Pod
    metadata:
    name: myapp-pod
    labels:
    app: myapp
    spec:
    initContainers:

    • name: init-myservice
      image: 172.16.80.140/busybox/busybox:1.28
      imagePullPolicy: IfNotPresent
      command: ['sh', '-c', "sleep 5"]
    • name: init-mydb
      image: 172.16.80.140/busybox/busybox:1.28
      imagePullPolicy: IfNotPresent
      command: ['sh', '-c', "sleep 5"]
      containers:
    • name: myapp-container
      image: 172.16.80.140/busybox/busybox:1.28
      command: ['sh', '-c', 'echo The app is running! && sleep 3600']
复制代码
# 获取百度首页,挂载到init容器中,同时挂载到主容器nginx中
vi pod-init-2.yaml
apiVersion: v1
kind: Pod
metadata:
  name: initnginx
spec:
  initContainers:
  - name: install
    image: 172.16.80.140/busybox/busybox:1.28
    imagePullPolicy: IfNotPresent
    command:
    - wget
    - "-O"
    - "/work-dir/index.html"
    - "https://www.baidu.com"
    volumeMounts:
    - name: workdir
      mountPath: /work-dir
  containers:
  - name: nginx
    image: 172.16.80.140/nginx/nginx:1.26
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80
    volumeMounts:
    - name: workdir
      mountPath: /usr/share/nginx/html
  dnsPolicy: Default
  volumes:
  - name: workdir
    emptyDir: {}
相关推荐
阿里云云原生32 分钟前
你的 OpenClaw 真的在受控运行吗?
云原生
阿里云云原生1 小时前
5 分钟零代码改造,让 Go 应用自动获得全链路可观测能力
云原生·go
Shanyoufusu122 小时前
RKE2 单节点集群安装 Rancher+ 私有镜像仓库搭建 完整教程
云原生
阿里云云原生2 小时前
Dify 官方上架 Higress 插件,轻松接入 AI 网关访问模型服务
云原生
AI攻城狮4 小时前
OpenClaw Session 管理完全指南:Context 压缩、重置与持久化
人工智能·云原生·aigc
蝎子莱莱爱打怪1 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
阿里云云原生4 天前
阿里云获评 Agentic AI 开发平台领导者,函数计算 AgentRun 赢下关键分!
云原生
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器