13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Kubernetes-Init容器的六个特性

Kubernetes-INIT容器的六个特性

作者:不焦躁的程序员 2023-10-07 09:52:30

云计算 本文主要从以下四个方面介绍Init容器:Init容器作用、Init容器特性、Init容器与应用容器的区别、Init容器实战。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站设计、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的白云网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

本文主要从以下4个方面介绍Init容器:Init容器作用、Init容器特性、Init容器与应用容器的区别、Init容器实战。

Kubernetes中的Pod内可以运行多个容器,主要分为2种:Init容器、应用容器,Sidecar容器也是一种特殊的Init容器。

Init容器的作用

Init 容器是一种特殊容器,在Pod内的应用容器启动之前运行。用于执行一些初始化的任务或设置,或者用于延迟执行应用容器。

有不少场景都需要在应用容器启动之前进行部分初始化操作,比如:等待某个服务需要等待其关联的服务可用后才启动、从配置中心获取配置后再启动 等。

Init容器的特性

Init容器与应用容器的关系

Init 容器与应用容器非常像,Init容器支持应用容器的全部字段和特性,包括资源限制、数据卷和安全设置,Init容器与应用容器共享数据卷和网络。关系如下图:

但是Init容器与应用容器也有三点不同:

Init容器使用实战

实战描述

yaml编排文件如下

apiVersion: v1
kind: Pod
metadata:
  name: init-container-test
  namespace: demo
  labels:
    app: init-container-test
spec:
  nodeName: k8s-worker-1
  initContainers:
    - name: download
      image: busybox
      command:
        - wget
        - -O
        - /temp-dir/index.html
        - http://www.baidu.com
      volumeMounts:
        - name: temp-dir
          mountPath: /temp-dir
  containers:
    - name: web-app
      image: nginx
      ports:
        - containerPort: 80
          hostPort: 8082
      volumeMounts:
        - name: temp-dir
          mountPath: /usr/share/nginx/html
  volumes:
    - name: temp-dir
      emptyDir: {}

执行kubectl describe pod init-container-test -n demo命令,可以看到有两处容器:

如果Init容器执行有异常,可以看到Pod会被不停地重启。

总结

本文主要从以下四个方面介绍Init容器:Init容器作用、Init容器特性、Init容器与应用容器的区别、Init容器实战。

重点要注意:


当前题目:Kubernetes-Init容器的六个特性
文章起源:http://cdbrznjsb.com/article/djohdho.html

其他资讯

让你的专属顾问为你服务