文章目录

  • POD 的基本用法
    • 1.POD运行说明
    • 2.POD封装容器的用法
    • 3. POD 共享的处理
    • 4.POD 配置
      • 4.1 ConfigMap

POD 的基本用法

1.POD运行说明

K8S 对容器运行的要求是主程序一直要在前台执行,如果使用 nohup 后台运行的话, 在nohup 执行完毕后则认为POD已经执行结束。接下来会立刻销毁POD。
如果这个时候陪配置了 ReplicationController, 监控到POD已经停止,就又有启动一个新的,这样就会陷入不断启动销毁的循环。所以对要求对制作的docker镜像必须以一个前台的命令作为启动命。

2.POD封装容器的用法

关于POD对于容器的封装要不要把多个耦合度较高的容器封装到一个POD,还没有定论,两种方式各有优劣。这里只是讲POD如何封装使用一个或容器。
容器定义在POD对象yaml的spec.containers下面。
单个容器示例:

apiVersion: v1
kind: Pod
metadata:labels:pod-template-hash: 74f56b7695workload.user.cattle.io/workloadselector: deployment-pa-dev-haepname: haep-74f56b7695-h442rnamespace: pa-dev
spec:containers:- name: haepimage: registry.com/ecf/haep:2.2.0env:- name: JAVA_TOOL_OPTIONSvalue: -Xmx512m imagePullPolicy: Alwaysports:- containerPort: 8080hostPort: 80name: 80tcp8080protocol: TCP

简单说明:

  • apiVersion(String) ,k8s中 APIServer的版本版本号
  • kind(String), K8S 资源对象的类型,这里是 Pod对象
  • metadata(Object), 定义资源对象的基础属性,对应的label,name和所属的命名空间等
  • spec(Object), 对象的详细属性定义,这里是Pod的详细信息
    下面的就是pod对象的一些详细属性了
  • containers(Object), pod对象的容器定义
  • env (List),表示POD容器使用的环境变量,name表示变量名称,value表示变量值
  • image (String),表示容器所使用的镜像
  • imagePullPolicy (Boolean),表示Pod创建的时候是否总是拉去镜像
  • name (String),表示容器名称
  • ports (List) , 容器需要暴露的端口
  • containerPort(int),暴露容器的端口
  • hostPort (int)暴露所在主机的端口,(每个主机只能暴露一个端口,不然端口冲突)
  • protocol(String) 使用的协议默认TCP
    使用如上的 ports定义则表示把容器的 8080 映射到主机的80

3. POD 共享的处理

当两个容器形成紧密耦合的关系,可以姜两个容器定义在一个POD 中,一个POD中的多个容器可以共享POD级别的Volume(卷),同时两个容器之前通过 localhost+端口就可以实现互相访问。

4.POD 配置

4.1 ConfigMap

ConfigMap 主要作用

  • 容器内的环境变量
  • 容器启动的命令参数
  • 以volume的形式挂载为容器内部的文件或者目录
    简述:ConfigMap 一个月或者多个key-value 键值对的方式保存在K8s 系统里面来供应用使用。既可以用作环境变量,可以用作一个完整的配置文件(比如redis 的redis.conf配置文件),当让也可以用于定义脚本。

4.POD 的基本用法相关推荐

  1. Horizo​​ntal Pod Autoscaler (HPA) 根据资源横向扩展

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Horizo​​ntal Pod Autoscaler根据观察到的CPU利用率自动调整复制控制器,部署或副本集中的容器数量(或者,通过 自定义指标 支 ...

  2. iOS进阶 - pod install 与 pod update 读这一篇就够了

    前言 在使用CocoaPods时,难免会混淆 pod install 和 pod update 的用法,于是在官网找到了相应的说明文章,并决定翻译过来,供大家学习. 以下内容来自:pod instal ...

  3. 2. Pod概念、网络通讯

    文章目录 1. K8S为何将Pod作为最小调度单元 2. Pod概念介绍 2-1.Pod控制器介绍 3. 网络通讯 3-1. 同一个Pod内的容器之间的通信 3-2. Pod之间的通信 3-2-1. ...

  4. 6. POD 配置1

    文章目录 1. POD 的基本用法 1.1 POD运行说明 1.2 POD封装容器的用法 1.3 镜像拉取策略 1.4 资源限制 1.5 重启机制 2. POD健康检查 2.1 就绪探针 2.2存活探 ...

  5. k8s技术预研7--深入掌握Kubernetes Pod

    目录 1.Yaml格式的Pod定义文件完整模板详解 2.Pod的基本用法     2.1 由1个容器组成的Pod示例     2.2 由两个为紧耦合关系的容器打包组成的Pod示例 3.静态Pod    ...

  6. 仿斗鱼聊天:基于CoreText的面向对象图文排版工具AWRichText

    AWRichText 基于CoreText,面向对象,极简,易用,高效,支持精确点击,UIView混排,GIF动图,并不仅仅局限于图文混排的富文本排版神器. 代码地址:https://github.c ...

  7. Kubernetes Service 对象的使用

    我们前面的课程中学习了Pod的基本用法,我们也了解到Pod的生命是有限的,死亡过后不会复活了.我们后面学习到的RC和Deployment可以用来动态的创建和销毁Pod.尽管每个Pod都有自己的IP地址 ...

  8. kubernetes 磁盘、PV、PVC

    6.1.介绍卷 6.1.1.卷的类型 emptyDir-用于存储临时数据的简单空目录 hostPath-用于将目录从工作节点的文件系统挂载到pod nfs-挂载到pod中的NFS共享卷. 还有其他的如 ...

  9. k8s架构及服务详解

    1.容器及其三要素 1.1.容器是什么 容器的本质是一种特殊的进程. 在linux容器中有三个重要的概念:Namespace.Cgroups.rootfs. Namespace做隔离,让进程只能看到N ...

最新文章

  1. Vim使用技巧及基本命令分类
  2. Android中Intent的显示和隐式使用
  3. 汇编语言--不可屏蔽中断
  4. MAT之PSO:利用PSO算法优化二元函数,寻找最优个体适应度
  5. 《系统集成项目管理工程师》必背100个知识点-90信息系统安全属性
  6. 2017计算机三级试卷,2017年计算机三级《网络技术》测试题及答案
  7. 谷歌发布端到端AI平台,还有用于视频和表格的AutoML、文档理解API等多款工具
  8. 以Chef和Ansible为例快速入门服务器配置
  9. Java 什么是静态内部类
  10. 在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常
  11. ExtJS 4应用架构设计
  12. codevs 1038 一元三次方程求解 NOIP2001提高组
  13. 腾达W311R路由器修改Mac地址方法
  14. 零基础手把手用solidworks教你画联轴器
  15. 我读《非暴力沟通》- 马歇尔 *卢森堡 - 是什么蒙蔽了爱
  16. STC51控制的超声波HY-SRF05测距、红外接收小车代码
  17. QQmm无处藏 2.1
  18. int类型数据范围 - 学习
  19. nnunet入门之一 (CT图像分割)
  20. 计算机等级考试一级有用吗?

热门文章

  1. word转html包含公式和图片
  2. 电动车报警器实现就是这么简单(教程里面提供源码)
  3. 路由器、猫(调制解调器)和交换机
  4. 创维百度联手进军人工智能 酷开或填补乐视退出之市场
  5. POJ 3403 Bloody Mary 再想想
  6. 决策树---信息增益
  7. 综合算法02—指定点之间的K短路
  8. 计算机组成原理 原码一位乘法(C语言实现)
  9. Day2 - Python基础2 列表、字典、集合 --转自金角大王
  10. ## **逆战突破,超越自我!**