pod

Kubernetes系列之Kubernetes Pod控制器

淺唱寂寞╮ 提交于 2020-03-03 23:13:02
Kubernetes系列之Kubernetes Pod控制器 #一、常见Pod控制器及含义 ###1、 ReplicaSets ReplicaSet是下一代复本控制器。ReplicaSet和 Replication Controller之间的唯一区别是现在的选择器支持。Replication Controller只支持基于等式的selector(env=dev或environment!=qa),但ReplicaSet还支持新的,基于集合的selector(version in (v1.0, v2.0)或env notin (dev, qa))。 大多数kubectl支持Replication Controller的命令也支持ReplicaSets。rolling-update命令有一个例外 。如果想要滚动更新功能,请考虑使用Deployments。此外, rolling-update命令是必须的,而Deployments是声明式的,因此我们建议通过rollout命令使用Deployments。 虽然ReplicaSets可以独立使用,但是今天它主要被 Deployments 作为协调pod创建,删除和更新的机制。当使用Deployments时,不必担心管理他们创建的ReplicaSets。Deployments拥有并管理其ReplicaSets。 ###2、 Deployment

从零开始入门 K8s | Kubernetes 网络模型进阶

坚强是说给别人听的谎言 提交于 2020-03-03 16:49:34
作者 | 叶磊(稻农)阿里巴巴高级技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 25 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读 :本文将基于之前介绍的 基本网络模型 ,进行更深入的一些了解,希望给予读者一个更广更深的认知。首先简单回顾一下容器网络的历史沿革,剖析一下 Kubernetes 网络模型的由来;其次会剖析一个实际的实现(Flannel Hostgw),展现了数据包从容器到宿主机的变换过程;最后对于和网络息息相关的 Servcie 做了比较深入的机制和使用介绍,通过一个简单的例子说明了 Service 的工作原理。 Kubernetes 网络模型来龙去脉 容器网络发端于 Docker 的网络。Docker 使用了一个比较简单的网络模型,即内部的网桥加内部的保留 IP。这种设计的好处在于容器的网络和外部世界是解耦的,无需占用宿主机的 IP 或者宿主机的资源,完全是虚拟的。它的设计初衷是:当需要访问外部世界时,会采用 SNAT 这种方法来借用 Node 的 IP 去访问外面的服务。比如容器需要对外提供服务的时候,所用的是 DNAT 技术,也就是在 Node 上开一个端口,然后通过 iptable 或者别的某些机制,把流导入到容器的进程上以达到目的。

kubernetes原理之引蛇出洞

谁说我不能喝 提交于 2020-03-03 16:24:54
Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源。Swarm和Kubernetes比较类似,但是更加轻,具有的功能也较kubernetes更少一些。https://www.cnblogs.com/franknihao/p/8490416.html Mesos是一个开源的资源管理系统,可以对集群中的资源做弹性管理。 https://www.cnblogs.com/sdifens/p/11350859.html 自我修复:一旦这个容四了,k8s会再其他地方重新启动一个一模一样的容器,(启动之前会先试着进行重启,如果重启不成功就会重新启动一个新的) 服务发现和负载均衡:我们知道如果有一个nginx下面有两个web服务器,如果我们要新增一个服务的话需要修改nginx配置,在nginx里新增一个节点,然后重启nginx, 而k8s他会自动加入这个负载均衡不不需要重新启动,因为他有监听机制, 自动部署和回滚:k8s只有你给他提供镜像他就会自动帮你部署,k8s支持历史版本,只要新版本有问题的话,他把这个历史版本进行回滚, 弹性伸缩:可以通过监控,监控到这个pod压力比较答的时候他会自动帮我们在扩充一个,入宫还不够再扩。 K8s应用场景: 主要应用于微服务架构。 传统架构

从零开始入门 K8s | Kubernetes 网络模型进阶

倾然丶 夕夏残阳落幕 提交于 2020-03-03 13:46:23
作者 | 叶磊(稻农)阿里巴巴高级技术专家 本文整理自《CNCF x Alibaba 云原生技术公开课》第 25 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 导读 :本文将基于之前介绍的 基本网络模型 ,进行更深入的一些了解,希望给予读者一个更广更深的认知。首先简单回顾一下容器网络的历史沿革,剖析一下 Kubernetes 网络模型的由来;其次会剖析一个实际的实现(Flannel Hostgw),展现了数据包从容器到宿主机的变换过程;最后对于和网络息息相关的 Servcie 做了比较深入的机制和使用介绍,通过一个简单的例子说明了 Service 的工作原理。 Kubernetes 网络模型来龙去脉 容器网络发端于 Docker 的网络。Docker 使用了一个比较简单的网络模型,即内部的网桥加内部的保留 IP。这种设计的好处在于容器的网络和外部世界是解耦的,无需占用宿主机的 IP 或者宿主机的资源,完全是虚拟的。它的设计初衷是:当需要访问外部世界时,会采用 SNAT 这种方法来借用 Node 的 IP 去访问外面的服务。比如容器需要对外提供服务的时候,所用的是 DNAT 技术,也就是在 Node 上开一个端口,然后通过 iptable 或者别的某些机制,把流导入到容器的进程上以达到目的。

k8s的HPA自动扩容与缩容

拈花ヽ惹草 提交于 2020-03-03 07:58:09
HPA介绍 Kubernetes HPA(水平Pod自动缩放)Pod水平自动伸缩,通过此功能,只需简单的配置,即可便可以利用监控指标(cpu使用率、磁盘、内存等)自动的扩容或缩容服务中Pod数量,当业务需求增加时,系统将为您无缝地自动增加适量容器,提高系统稳定性。此处将详细讲解HPA的核心设计原理和基于Hepaster的使用方法 。 前提条件 系统应该能否获取到当前Pod的资源使用情况 (意思是可以执行kubectl top pod命令,并且能够得到反馈信息)。 若要实现自动扩缩容的功能,还需要部署heapster服务,用来收集及统计资源的利用率,支持kubectl top命令,heapster服务集成在prometheus(普罗米修斯) MertricServer服务中,所以说,为了方便,我这里基于prometheus服务的环境上进行部署HPA(动态扩缩容)的服务。 实验环境 主机 IP地址 服务 master 192.168.1.21 k8s node01 192.168.1.22 k8s node02 192.168.1.23 k8s 基于[ https://blog.51cto.com/14320361/2473879 ]() 的实验继续进行 heapster:这个组件之前是集成在k8s集群的,不过在1.12版本之后被移除了。如果还想使用此功能

Kubernetes Pod 控制器

孤人 提交于 2020-03-03 07:53:55
在机器人技术和自动化中,控制环是一个控制系统状态的不终止的循环 这是一个控制环的例子:"房间里的温度自动调节器" 当你设置了温度,告诉了温度自动调节器你的"期望状态",房间的实际温度是"当前状态"。通过对设备的开关控制,温度自动调节器让其当前状态无限接近于期望状态。 控制器通过 k8s的apiserver 去监控集群的公共状态,并致力于将当前状态转变为所期望的状态。 中文参考官方: 怎么描述Kubernetes架构控制器的 kubernetes 之Pod控制器(Controller) Controller是kubernetes中用于对Pod进行管理的控制器,通过该控制器可以让Pod始终维持在一个用户原本设定或期望的状态下。如节点宕机或Pod因其他原因死亡,则在其他节点起一个相同的Pod来替代该Pod。 常用的内置控制器类型,它通常与集群API服务器进行交互: ReplicaSet: 是Replication Controller 升级版本,区别是对选择器的支持; Deployments: 管理RS并提供对Pod的更新等功能,建议使用它管理RS,除非自定义更新编排; DaemonSet: 用于确保集群中的每一个节点只运行一个Pod副本,通常用来实现系统级的后台任务; StatefulSets: 通常用来管理有状态应用; Job: 一次性任务执行; Crontab: 定时任务执行;

k8s入门教程

一笑奈何 提交于 2020-03-02 18:26:00
1. k8s概述 Kubernetes(简称K8S) 是Google开源的分布式的容器管理平台,方便我们在服务器集群中管理我们容器化应用。 教程主要介绍怎么使用阿里云容器服务(kubernetes版本)。 2. k8s常用概念介绍 节点 (Master node and Worker node) 节点通常指的就是服务器,在k8s中有两种节点:管理节点(Master Node)和工作节点(Worker Node) 管理节点(Master Node):负责管理整个k8s集群,一般由3个管理节点组成HA的架构。 工作节点(Worker Node):主要负责运行容器。 命名空间 (Namespace) k8s命名空间主要用于隔离集群资源、隔离容器等,为集群提供了一种虚拟隔离的策略;默认存在3个名字空间,分别是默认命名空间 default、系统命名空间 kube-system 和 kube-public。 Object k8s 对象(Object)是一种持久化存储并且用于表示集群状态的实体。k8s 对象其实就是k8s自己的配置协议,总之我们可以通过定义一个object让k8s根据object定义执行一些部署任务、监控任务等等。 POD Pod是 Kubernetes 部署应用或服务的最小的基本单位。一个Pod 封装多个应用容器(也可以只有一个容器)、存储资源、一个独立的网络 IP

k8s(5)—— Pod控制器

孤者浪人 提交于 2020-03-02 17:53:15
Pod控制器目录: 一、ReplicaSet 1、ReplicaSet简介 2、实验环境的创建 3、创建ReplicaSet控制器 4、扩容 5、rs只控制文件中定义的标签的名称 二、Deployment控制器 1、Deployment简介 2、清空实验环境 3、创建 Deployment 4、拉伸 5、更新 Deployment 6、回滚 Deployment 三、DaemonSet控制器 1、DaemonSet简介 2、实验准备 3、创建DaemonSet控制器 四、Job控制器 1、实验环境的部署 2、创建Job控制器 五、CronJob控制器 1、CronJob的简介 2、创建CronJob、测试 官网信息: https://kubernetes.io/zh/docs/concepts/containers/ 一、ReplicaSet 1、ReplicaSet简介 2、实验环境的创建 3、创建ReplicaSet控制器 4、扩容 5、rs只控制文件中定义的标签的名称 1、ReplicaSet简介 ReplicaSet 是下一代的 Replication Controller。 ReplicaSet 和 Replication Controller 的唯一区别是选择器的支持。ReplicaSet 支持新的基于集合的选择器需求,这在标签用户指南中有描述。而

备战CKA每日一题——第14天 | Service和Pod的DNS记录

廉价感情. 提交于 2020-03-02 11:20:06
上次考题 Set configuration context $ kubectl config use-context k8s; Create a deployment as follows; Name: nginx-dns; Exposed via a service: nginx-dns; Ensure that the service & pod are accessible via their respective DNS records; The container(s) within any pod(s) running as a part of this deployment should use the nginx image; Next,use the utiliity nslookup to look up the DNS records of the service & pod and write the output to /opt/service.dns and /opt/pod.dns respectively; Ensure you use the busybox:1.28 image (or earliser) for any testing, an the latest release has an unpstream bug which

HPA

时间秒杀一切 提交于 2020-03-02 07:37:21
HPA HPA的全称为Horizontal Pod Autoscaling,它可以根据当前pod资源的使用率(如CPU、磁盘、内存等),进行副本数的动态的扩容与缩容,以便减轻各个pod的压力。当pod负载达到一定的阈值后,会根据扩缩容的策略生成更多新的pod来分担压力,当pod的使用比较空闲时,在稳定空闲一段时间后,还会自动减少pod的副本数量 前提条件:系统应该能够获取当前Pod的资源使用情况(意思是可以执行 kubectl top pod命令,并且能够得到反馈信息) heapster:这个组件之前是集成在k8s集群的,不过在1.12版本之后就被移除了。如果还想使用此功能,应该部署metricServer这个k8s集群资源使用情况的聚合器 要是想实现自动扩容缩容的功能,还需要部署heapster服务,而这个服务集成在Prometheus的MetricServer服务中,也就是说需要部署Prometheus服务,但是我们也可以直接部署heapster服务 实现Pod的扩容与缩容示例 因为heapster集成在MetricServer服务中,所以首先部署这个服务 1、首先安装MerticServer服务,从Github上克隆项目 [ root@master ~ ] # git clone https://github.com/kubernetes-incubator/metrics