【Kubernetes系列】第2篇 基础概念介绍

  • 时间:
  • 浏览:3
  • 来源:大发时时彩代理—大发大发彩票app

使用kubectl taint命令都都要给某个Node节点设置污点,Node被设置上污点过后就和Pod之间趋于稳定了五种相斥的关系,都都要让Node拒绝Pod的调度执行,甚至将Node机会趋于稳定的Pod驱逐出去。每个污点的组成:key=value:effect,当前taint effect支持如下4个 选项:

1)cpu, limits.cpu, requests.cpu

taint(污点)

Sercert-密钥处理了密码、token、密钥等敏感数据的配置大大问题 ,而不都要把哪些地方地方敏感数据暴露到镜像机会Pod Spec中。Secret都都要以Volume机会环境变量的法子使用。有如下五种类型:

3).storageclass.storage.k8s.io/requests.storage

PV的回收策略(persistentVolumeReclaimPolicy)都在五种

资源配额(Resource Quotas)是用来限制用户资源用量的五种机制。

1)pods, replicationcontrollers, configmaps, secrets

常用的操作命令如下:

Kubernetes存储卷的生命周期与Pod绑定

Namespace(命名空间)是对一组资源和对象的抽象集合,比如都都要用来将系统结构的对象划分为不同的项目组机会用户组。常见的pod、service、replicaSet和deployment等都在属于某4个 namespace的(默认是default),而node, persistentVolumes等则不属于任何namespace。

3)自定义的object metrics

用户超额后禁止创建新的资源

.spec.strategy 指新的Pod替换旧的Pod的策略,有以下五种类型

目前Kubernetes主要支持以下Volume类型:

删除命名空间时,需注意以下几点:

Pod具有如下底部形态:

容忍(Tolerations)

CronJob即定时任务,就类式于Linux系统的crontab,在指定的时间周期运行指定的任务。

Service和Pod的IP仅可在集群结构访问。集群结构的请求都要通过负载均衡转发到service所在节点暴露的端口上,或者再由kube-proxy通过边缘路由器将其转发到相关的Pod,Ingress都都要给service提供集群结构访问的URL、负载均衡、HTTP路由等,为了配置哪些地方地方Ingress规则,集群管理员都要部署4个 Ingress Controller,它监听Ingress和service的变化,并根据规则配置负载均衡并提供访问入口。

设置了污点的Node将根据taint的effect:NoSchedule、PreferNoSchedule、NoExecute和Pod之间产生互斥的关系,Pod将在一定程度上我不要 被调度到Node上。 但亲戚亲戚我们都要在Pod上设置容忍(Toleration),意思是设置了容忍的Pod将都都要容忍污点的趋于稳定,都都要被调度到趋于稳定污点的Node上。

DaemonSet保证在特定或所有Node节点上都运行4个 Pod实例,常用来部署或多或少集群的日志分派、监控机会或多或少系统管理应用。典型的应用包括:

常用命令如下:

资源配额有如下类型:

它的工作原理为:

Service是对一组提供相同功能的Pods的抽象,并为亲戚亲戚我们提供4个 统一的入口,借助 Service 应用都都要方便的实现服务发现与负载均衡,并实现应用的零宕机升级。 Service通过标签(label)来取舍后端Pod,一般配合ReplicaSet机会Deployment来保证后端容器的正常运行。

4).storageclass.storage.k8s.io/persistentvolumeclaims

1)预定义metrics(比如Pod的CPU)以利用率的法子计算

3)services, services.loadbalancers, services.nodeports

Deployment和ReplicaSet两者之间的关系

Service account是为了方便Pod上方的守护进程运行运行调用Kubernetes API或或多或少结构服务而设计的

Service Account为服务提供了五种方便的认证机制,但它不关心授权的大大问题 。都都要配合RBAC(Role Based Access Control)来为Service Account鉴权,通过定义Role、RoleBinding、ClusterRole、ClusterRoleBinding来对sa进行授权。

都都要通过如下命令创建HPA:

另外,也都都要将已有的服务以Service的形式加入到Kubernetes集群中来,只都要在创建 Service 的过后不指定Label selector,或者在Service创建好后手动为其换成endpoint。

Deployments和ReplicaSets是为无情况服务设计的,那么StatefulSet则是为了有情况服务而设计,其应用场景包括:

一般情况下亲戚亲戚我们不都要手动创建Pod实例,或者采用更高一层的抽象或定义来管理Pod,针对无情况类型的应用,Kubernetes使用Deloyment的Controller对象与之对应。其典型的应用场景包括:

默认情况下容器的数据是非持久化的,容器消亡过后数据也会跟着丢失,或多或少或多或少Docker提供了Volume机制以便将数据持久化存储。Kubernetes提供了更强大的Volume机制和插件,处理了容器数据持久化以及容器间共享数据的大大问题 。

Node是Pod真正运行的主机,都都可是我我物理机也都都可是我我虚拟机。Node本质上都在Kubernetes来创建的, Kubernetes或者管理Node上的资源。为了管理Pod,每个Node节点上共要都要运行container runtime(Docker)、kubelet和kube-proxy服务。

指定Node节点

DaemonSet会忽略Node的unschedulable情况,有五种法子来指定Pod只运行在指定的Node节点上:

2)自定义的Pod metrics,以原始值(raw value)的法子计算

常用的ingress controller:

常用node操作:

...

2)persistentvolumeclaims:pvc的个数

Job负责批量处理短暂的一次性任务 (short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的4个 或多个Pod成功开使。

ConfigMap用于保存配置数据的键值对,都都要用来保存单个属性,也都都要用来保存配置文件。ConfigMap跟secret很类式,但它都都要更方便趋于稳定理不蕴藏敏感信息的字符串。ConfigMap都都要通过五种法子在Pod中使用,五种分别法子为:设置环境变量、设置容器命令行参数以及在Volume中直接挂载文件或目录。

授权

资源配额应用在Namespace上,或者每个Namespace最多不能能4个多 ResourceQuota 对象

目前支持五种策略

Horizontal Pod Autoscaling都都要根据CPU、内存使用率或应用自定义metrics自动扩展Pod数量 (支持replication controller、deployment和replica set)。

支持五种更新策略:

2)memory, limits.memory, requests.memory

Kubernetes中的负载均衡亲戚亲戚我们主要用到了以下五种机制:

更新策略

开启计算资源配额后,创建容器时都要配置计算资源请求或限制(也都都要 用LimitRange设置默认值)

1)requests.storage:存储资源总量,如100Gi

PV的访问模式(accessModes)有五种:

都都要使用 kubectl create configmap从文件、目录机会key-value字符串创建等创建 ConfigMap。也都都要通过 kubectl create -f value.yaml 创建。

都在每五种存储都支持这五种法子,像共享法子,目前支持的还比较少,比较常用的是 NFS。在PVC绑定PV时通常根据4个 条件来绑定,4个 是存储的大小,或者或者 访问模式。

常用namespace操作:

PersistentVolume(PV)是集群之中的一块网络存储。跟 Node 一样,也是集群的资源。PersistentVolume (PV)和PersistentVolumeClaim (PVC)提供了方便的持久化卷: PV提供网络存储资源,而PVC请求存储资源并将其挂载到Pod中。

Pod是一组紧密关联的容器集合,支持多个容器在4个 Pod中共享网络和文件系统,都都要通过守护进程运行运行间通信和文件共享这人 简单高效的法子完成服务,是Kubernetes调度的基本单位。Pod的设计理念是 每个Pod都4个多 唯一的IP

service 有如下五种类型,默认是ClusterIP:

2)resourcequotas, persistentvolumeclaims