kubernetes中infra容器的理解

1. infra容器和用户容器的关系

1.1 pause 是k8s的基础设施的一部分,pod中其他容器通过pause容器跟其他pod进行通信。

1.2 pod中其他容器跟pause容器共享命名空间
1.3 她是pod中第一个被启动的容器

1.4 pod中的容器可以声明共享一个volume

2. 利用infra容器特性(共享一个volume)的案例

2.1 init 容器加 web 容器

template:
   metadata:
      labels:
          app: xxxwordpress
          tier: xxxfrontend
spec:
    initContainers:
    - image: debian
      name: co-container
      env:
      - name: DBSVC_KEY
        valueFrom:
            configMapKeyRef:
            name: my-config01
          key: dbsvc
    - name: ONECLOUDURL_KEY
         valueFrom:
    configMapKeyRef:
         name: my-config01
        key: twocloudurl_key
       volumeMounts:
  - name: my-tmp-file
    mountPath: /pod-data
    command: ["/bin/sh"]
    args: ["-c","/pod-data/changedata.sh"]
   containers:
 - image: harbor.twopower.com/pub/guanwang:1226
      name: xxxwordpress
  ports:
       - containerPort: 80
       name: xxxwordpress
       volumeMounts:
    - name: my-tmp-file
      mountPath: /var/www/app
    volumes:
  - name: my-tmp-file
    hostPath:
    path: /etc/html

原文地址:https://www.cnblogs.com/hixiaowei/p/10185487.html

时间: 2024-11-03 23:34:37

kubernetes中infra容器的理解的相关文章

第三章 pod:运行于kubernetes中的容器

本章内容涵盖 创建. 启动和停止 pod 使用标签组织 pod 和其他资源 使用特定标签对所有 pod 执行操作 使用命名空间将多个 pod 分到不重叠的组中 调度 pod 到指定类型的工作节点 上一章 已经大致介绍了在 Kubemetes 中创建的基本组件,包括它们的基本功 能概述. 那么接下来我们将更加详细地介绍所有类型的 Kubemetes 对象(或资源), 以便你理解在何时. 如何及为何要使用每一个对象. 其中 pod 是 Kubemetes 中最为 重要的核心概念,而其他对象仅仅是在管

理解Docker(6):若干企业生产环境中的容器网络方案

本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 (6)若干企业生产环境中的容器网络方案 Docker 在早期只有单机上的网络解决方案,在 1.19 版本引入了原生的 overlay 网络解决方案,但是它的性能损耗较大,可能无法适应一些生产环

实用干货:Kubernetes中的负载均衡全解

很多企业在部署容器的时候都会选择Kubernetes作为其容器编排系统.这是对Kubernetes的可靠性,灵活性和特性广泛的肯定.在这篇文章中,我们将对Kubernetes如何处理一个非常常见且必要的工作--负载均衡,进行深入的解读.在许多非容器环境(即服务器之间的均衡)中,负载均衡是一个相对简单的任务,但当涉及到容器时,就需要一些其他的.特殊的处理. 管理容器 要理解Kubernetes的负载均衡,首先需要了解Kubernetes是如何组建容器的. 容器通常用来执行特定的服务或者一组服务,因

kubernetes中的Pod简述与实践

Pod的概念详细的Pod解释可参考k8s官网,关于Pod的概念主要有以下几点:(1)Pod是kubernetes中你可以创建和部署的最小也是最简的单位.一个Pod代表着集群中运行的一个进程:(2)在Kubrenetes集群中Pod的使用方式:(3)Pod中如何管理多个容器 理解Pod上面已经说了"Pod是kubernetes中你可以创建和部署的最小也是最简的单位.一个Pod代表着集群中运行的一个进程."Pod中封装着应用的容器(有的情况下是好几个容器),存储.独立的网络IP,管理容器如

Kubernetes中,通过Service访问Pod快速入门

一.背景 理想状态下,我们可以认为Kubernetes Pod是健壮的.但是,理想与现实的差距往往是非常大的.很多情况下,Pod中的容器可能会因为发生故障而死掉.Deployment等Controller会通过动态创建和销毁Pod来保证应用整体的健壮性.众所周知,每个Pod都拥有自己的IP地址,当新的Controller用新的Pod替代发生故障的Pod时,我们会发现,新的IP地址可能跟故障的Pod的IP地址可能不一致.此时,客户端如何访问这个服务呢?Kubernetes中的Service应运而生

Kubernetes中,两种常见类型的Volume深度实践

一.背景 存储资源在所有计算资源中扮演着十分重要的角色,大部分业务场景下都有可能使用到各类存储资源.在Kubernetes中,系统通过Volume对集群中的容器动态或静态提供存储资源.通常情况下,我们可以认为容器或者Pod的生命周期时短暂的,当容器被销毁时,容器内部的数据也同时被清除.为了持久化保存容器的数据,Kubernetes引入了Volume,类似于Docker的Volume(Docker also has a concept of volumes, though it is somewh

Kubernetes中的Secret配置

  Secret 概览 Secret 是一种包含少量敏感信息例如密码.token 或 key 的对象.这样的信息可能会被放在 Pod spec 中或者镜像中:将其放在一个 secret 对象中可以更好地控制它的用途,并降低意外暴露的风险. 用户可以创建 secret,同时系统也创建了一些 secret. 要使用 secret,pod 需要引用 secret.Pod 可以用两种方式使用 secret:作为 volume中的文件被挂载到 pod 中的一个或者多个容器里,或者当 kubelet 为 p

Kubernetes中Namespace与Pod

一.Namespace 1)Namespace概述 Namespace是对一组资源和对象的抽象集合,比如可以用来将系统内部的对象划分为不同的项目组或用户组.常见的pods, services, replication controllers和deployments等都是属于某一个namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace. Namespace常用来隔离不同的用户,比如Kubernetes自带的服务一般运行在kub

kubernetes之给容器的生命周期事件添加处理器

简介 此文讲述如何给容器的声明周期时间添加处理器,Kubernetes支持postStart和preStop事件.Kubernetes在容器启动之后立即发送postStart事件,在容器终止之前立即发送preStop事件. 备注:此文档参考官方文档,并加以自己的理解.如有误导性的内容,请批评指正. 定义 postStart 和 preStop 处理器 创建一个包含一个容器的Pod,容器中有postStart和preStop事件.文件名:lifecycle-events.yaml apiVersi