Red Hat OpenShift
Core Concepts
基本概念
Master
- Master监控其他Node和Pod
- 提供Web Console
Node
- Node是k8s的工作机器
- Node中运行Pod,pod可以在node中进行调配
- Node挂了,其他Node会启动其中的Pod
Lables
- 标签提供了一种简单的方法用于管理Kubernetes资源。它们有一对键值表示,且可以用于所有资源的分组
Selector
- Labels
- matchLabels
- matchExpressions
Pod
- Pod概念
- Pod是一个抽象的概念,它包含一个或多个容器组成的容器组,还有这些容器共享的资源
- 共享的存储,例如Volume
- 网络,比如使用唯一的集群IP地址
- 如何运行容器的配置信息,比如镜像版本和容器端口
- 每个 Pod 可以在 Kubernetes 集群内拥有唯一的 IP 地址
- Pod 可以拥有多个容器。这些容器共享同一个端口空间,所以他们可以通过 localhost 交流(可想而知它们无法使用相同的端口)
- 与其他 Pod 内容器的交流可以通过结合 Pod 的 IP 完成
- Pod可以自动按默认设置创建,也可以通过kind pod自定义设置
- Init Containers: 在app容器启动前做准备工作的容器
- 一种作用是可以延迟app容器启动
- Pod是一个抽象的概念,它包含一个或多个容器组成的容器组,还有这些容器共享的资源
- spec.containers.env : 设置Containers环境变量
- spec.restartPolicy
- Always
- OnFailure
- Never
Developer Guide
Pod Presets
- 其他属性
- 阻止Pod被注入 : podpreset.admission.kubernetes.io/exclude: "true"
Deployment
- apiVersion
- apps/v1beta1
- selector : matchLables
ReplicaSet
- apiVersion
- extensions/v1beta1
- selector : matchLables
Secrets
ConfigMaps
其他
Node调配Pod
- Deployment/RC:全自动调度
- Deployment/RC主要是自动部署应用的多个副本,并持续监控,以维持副本的数量。
- 默认是使用系统Master的Scheduler经过一系列算法计算来调度,用户无法干预调度过程与结果。
- 默认使用Deployment/RC
- NodeSelector:定向调度
通过Node的标签和Pod的nodeSelector属性相匹配,可以达到将pod调度到指定的一些Node上。
oc label nodes env=dev
YAML
kind: Deployment
nodeSelector:
env: 'dev
- NodeAffinity:Node亲和性调度
- PodAffinity:Pod亲和与互斥调度策略
- 可以根据节点上正在运行的其它Pod的标签来进行限制
- Taints与Tolerations(污点与容忍)
- Taints与前面的Affinity相反——它让Node拒绝Pod的运行
- DaemonSet:在每个Node上调度一个Pod
- 管理集群中每个Node上仅运行一份Pod的副本实例
- kind: DaemonSet
- Job:批处理调度
- 定义批量任务(并行/串行启动多个计算进程去处理一批工作项)
- kind: Job
- https://www.jianshu.com/p/40050e2a05d4
- Cronjob:定时任务
- kind: CronJob
- 类似Linux Cron的定时任务
Red Hat OpenShift的更多相关文章
- [转帖]Red Hat K8s 关键人物 Grant Shipley 跳槽到 VMware
Red Hat K8s 关键人物 Grant Shipley 跳槽到 VMware https://news.cnblogs.com/n/641944/ 这四小时的工作效率 太无敌了.. 投递人 ...
- Red Hat
同义词 REDHAT一般指Red Hat Red Hat(红帽)公司(NYSE:RHT)是一家开源解决方案供应商,也是标准普尔500指数成员.总部位于美国北卡罗来纳州的罗利市,截止2015年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 ...
- Red Hat Enterprise Server 6.0 安装Sendmail相关包
由于需要在Linux服务器(Red Hat Enterprise Linux Server release 6.0)上配置邮件服务,需要安装Sendmail包,一般Sendmail的安装有两种方式:R ...
- Red Hat Enterprise Linux 6.6安装体验
Red Hat Enterprise Linux 6.6的安装首界面有五个选项,这跟以前的Red Hat Enterprise Linux 5.x的安装界面是有一些区别的. 安装或者升级现有系统( ...
- Red Hat Enterprise Linux 各个版本以及发布日期
Red Hat Enterprise Linux 7 Release/Update General Availability Date redhat-release Errata Date* Kern ...
- linux red hat 给普通用户开启root权限
环境:虚拟机:red hat 6.5:root角色用户:普通用户:宏基笔记本:win7: 操作过程: 1.登录普通用户,进入图形界面(可以设置为启动登录进入命令行界面): 2.按Crl+ALT+F2进 ...
- 使用 KGDB 调试 Kernel On Red Hat Linux
1. KGDB 简介 KGDB 提供了一种使用 GDB 调试 Linux 内核的机制.使用 KGDB 可以象调试普通的应用程序那样,在内核中进行设置断点.检查变量值.单步跟踪程序运行 ...
- Red hat 6.4下面的qt安装
运行环境:Red hat 6.4 去官网下载qt5.2并且安装 当启动的时候会出现如下错误 核心载入失败: /opt/Qt5.2.0/Tools/QtCreator/lib/qtcreator/plu ...
随机推荐
- python 自然语言处理(二)____获得文本语料和词汇资源
一, 获取文本语料库 一个文本语料库是一大段文本.它通常包含多个单独的文本,但为了处理方便,我们把他们头尾连接起来当做一个文本对待. 1. 古腾堡语料库 nltk包含古腾堡项目(Project Gut ...
- Java:多个文档合并输出到一个文档
多个文档合并输出到一个文档 方法:Java NIO package First; import java.io.File; import java.io.FileInputStream; import ...
- .net core json配置相关用法
在.net core中,配置文件差不多都是json文件.我们在开发程序的时候,可以使用系统默认的appsettings.json,可以自定义json配置文件.当json配置文件里面的参数改变时,程序也 ...
- asp.net webapi 返回json结果的方法
第一种: public static void Register(HttpConfiguration config) { //1.将默认的xml格式化程序清除 GlobalConfiguration. ...
- 前端基础之jQuery操作标签
一.样式操作 样式类 addClass(); // 添加指定的CSS类名. removeClass(); // 移除指定的CSS类名. hasClass(); // 判断样式存不存在 toggleCl ...
- jdk,jre和jvm
JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库 JRE是Java Runtime En ...
- 杭电多校第七场 1010 Sequence(除法分块+矩阵快速幂)
Sequence Problem Description Let us define a sequence as below f1=A f2=B fn=C*fn-2+D*fn-1+[p/n] Your ...
- PCP架构设计
1.引言 现如今已经进入互联网时代,无论是工作还好娱乐都已经离不开互联网,与此同时,网络相关的问题也时不时的侵扰着我们,这需要我们具有一定网络相关知识来解决相关问题,而这时,一款工作便利,免费的网络分 ...
- 4.Python爬虫入门四之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
- LINQ(数据库操作增、删、改及并发管理)
本文将演示如何通过 Entity Framework 数据模型创建.修改.删除数据库记录. Customer cust = new Customer() { CustomerID = "LA ...