Core Concepts

基本概念

  • Master

    1. Master监控其他Node和Pod
    2. 提供Web Console
  • Node

    1. Node是k8s的工作机器
    2. Node中运行Pod,pod可以在node中进行调配
    3. Node挂了,其他Node会启动其中的Pod
  • Lables

    1. 标签提供了一种简单的方法用于管理Kubernetes资源。它们有一对键值表示,且可以用于所有资源的分组
  • Selector

    1. Labels
    2. matchLabels
    3. matchExpressions

Pod

  • Pod概念

    1. Pod是一个抽象的概念,它包含一个或多个容器组成的容器组,还有这些容器共享的资源

      1. 共享的存储,例如Volume
      2. 网络,比如使用唯一的集群IP地址
      3. 如何运行容器的配置信息,比如镜像版本和容器端口
    2. 每个 Pod 可以在 Kubernetes 集群内拥有唯一的 IP 地址
    3. Pod 可以拥有多个容器。这些容器共享同一个端口空间,所以他们可以通过 localhost 交流(可想而知它们无法使用相同的端口)
    4. 与其他 Pod 内容器的交流可以通过结合 Pod 的 IP 完成
    5. Pod可以自动按默认设置创建,也可以通过kind pod自定义设置
    6. Init Containers: 在app容器启动前做准备工作的容器
      1. 一种作用是可以延迟app容器启动
  • spec.containers.env : 设置Containers环境变量
  • spec.restartPolicy
    1. Always
    2. OnFailure
    3. Never

Developer Guide

Pod Presets

  • 其他属性

    1. 阻止Pod被注入 : podpreset.admission.kubernetes.io/exclude: "true"

Deployment

  • apiVersion

    1. apps/v1beta1
  • selector : matchLables

ReplicaSet

  • apiVersion

    1. extensions/v1beta1
  • selector : matchLables

Secrets

ConfigMaps

其他

Node调配Pod

  • Deployment/RC:全自动调度

    1. Deployment/RC主要是自动部署应用的多个副本,并持续监控,以维持副本的数量。
    2. 默认是使用系统Master的Scheduler经过一系列算法计算来调度,用户无法干预调度过程与结果。
    3. 默认使用Deployment/RC
  • NodeSelector:定向调度
    1. 通过Node的标签和Pod的nodeSelector属性相匹配,可以达到将pod调度到指定的一些Node上。

    2. oc label nodes env=dev

    3. YAML

       kind: Deployment
      nodeSelector:
      env: 'dev
  • NodeAffinity:Node亲和性调度
  • PodAffinity:Pod亲和与互斥调度策略
    1. 可以根据节点上正在运行的其它Pod的标签来进行限制
  • Taints与Tolerations(污点与容忍)
    1. Taints与前面的Affinity相反——它让Node拒绝Pod的运行
  • DaemonSet:在每个Node上调度一个Pod
    1. 管理集群中每个Node上仅运行一份Pod的副本实例
    2. kind: DaemonSet
  • Job:批处理调度
    1. 定义批量任务(并行/串行启动多个计算进程去处理一批工作项)
    2. kind: Job
    3. https://www.jianshu.com/p/40050e2a05d4
  • Cronjob:定时任务
    1. kind: CronJob
    2. 类似Linux Cron的定时任务

Red Hat OpenShift的更多相关文章

  1. [转帖]Red Hat K8s 关键人物 Grant Shipley 跳槽到 VMware

    Red Hat K8s 关键人物 Grant Shipley 跳槽到 VMware   https://news.cnblogs.com/n/641944/ 这四小时的工作效率 太无敌了.. 投递人  ...

  2. Red Hat

    同义词 REDHAT一般指Red Hat Red Hat(红帽)公司(NYSE:RHT)是一家开源解决方案供应商,也是标准普尔500指数成员.总部位于美国北卡罗来纳州的罗利市,截止2015年3月3日, ...

  3. KALI Linux problems & Study Red Hat | Ubuntu

    Problem When you ask some website with https head.you may met the problem  secure connection failed ...

  4. Red Hat Enterprise Server 6.0 安装Sendmail相关包

    由于需要在Linux服务器(Red Hat Enterprise Linux Server release 6.0)上配置邮件服务,需要安装Sendmail包,一般Sendmail的安装有两种方式:R ...

  5. Red Hat Enterprise Linux 6.6安装体验

    Red Hat Enterprise Linux 6.6的安装首界面有五个选项,这跟以前的Red Hat Enterprise Linux 5.x的安装界面是有一些区别的.   安装或者升级现有系统( ...

  6. Red Hat Enterprise Linux 各个版本以及发布日期

    Red Hat Enterprise Linux 7 Release/Update General Availability Date redhat-release Errata Date* Kern ...

  7. linux red hat 给普通用户开启root权限

    环境:虚拟机:red hat 6.5:root角色用户:普通用户:宏基笔记本:win7: 操作过程: 1.登录普通用户,进入图形界面(可以设置为启动登录进入命令行界面): 2.按Crl+ALT+F2进 ...

  8. 使用 KGDB 调试 Kernel On Red Hat Linux

    1. KGDB 简介         KGDB  提供了一种使用 GDB 调试 Linux 内核的机制.使用 KGDB 可以象调试普通的应用程序那样,在内核中进行设置断点.检查变量值.单步跟踪程序运行 ...

  9. Red hat 6.4下面的qt安装

    运行环境:Red hat 6.4 去官网下载qt5.2并且安装 当启动的时候会出现如下错误 核心载入失败: /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plu ...

随机推荐

  1. 深入理解java虚拟机---虚拟机工具jinfo(十五)

    作用: 实时查看和调整虚拟机参数. jinfo 是jdk自带的一个工具,它可以用来查看正在运行的java应用程序的扩展参数(JVM中-X标示的参数):甚至支持在运行时修改部分参数. 1.通过以下的命令 ...

  2. dialog销毁不干净与弹出多个dialog问题

    1.关闭dialog的时候不销毁.重新打开然后影响页面的效果与样式. 原因: dialog的close()只是将html片段隐藏,并没有销毁移除. 解决方式: 打开dialog的时候在写onClose ...

  3. 虚拟机提示:无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件

    虚拟机提示:无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件 Win 10 vmware12 无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件. ...

  4. Spring的PropertyPlaceholderConfigurer

    在项目中我们一般将配置信息(如数据库的配置信息)配置在一个properties文件中,如下: jdbcUrl=jdbc:mysql://localhost:3306/flowable?useUnico ...

  5. 小程序 textarea

    1.小程序中textarea不能在scroll-view.swiper.picker-view等等里面运用. 2.不在fixed布局的页面中,placeholder也会随着页面滚动,解决方法:顶级父元 ...

  6. "@P0"附近有语法错误解释及定位修复

    解释: "@P0" 指的是sql语句被预编译之后,其所对应的占位符的相对顺序位置,通俗的讲,就是它代表第几个占位符的位置,其中的0,并不是固定的,如果将定位符看做数组的话,这里的数 ...

  7. ecmall 开发一个新模块

    要开发新模块,要借鉴原有模块的代码并进行修改. 首先打开目录external/modules 会有一个datacall文件夹,这个文件夹对应的就是一个模块. 复制datacall文件夹,重命名为tes ...

  8. JAVA (StringBuffer/StringBuilder)常用API

    public class Copy3 { public static void main(String[] args) { //构造实例化 StringBuffer strbu = new Strin ...

  9. php操作redis(转)

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis支持的数据类型有 Stirng(字符串), Lis ...

  10. SQL*Plus连接符拼接输出

    在日常工作中,可能需要使用重复的命令,修改的只是某个不同字段的值,可以使用连接字符串进行拼接 #本篇文档: 一.使用连接符拼接SQL 二.Spool输出查询结果 三.Spool输出xml/  html ...