什么是k8s集群(k8s和docker区别)

什么是k8s集群(k8s和docker区别)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

大家好,今天来介绍什么是k8s集群(k8s概念详解)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!

k8s是什么意思

k8s是指Kubernetes,是一个由Google开发的、用于自动部署、扩展和管理容器化应用程序的开源平台。Kubernetes提供了一个可移滑伍森植、可扩展的平台,用于管理容器化应用程序和服务,可以运行在橘首公共云、私有云和混合云等不同的基础设施中。

Kubernetes采用了集群的方式,将多个节点组成一个集群,用于管理和运行容器化应用程序。Kubernetes提供了许多功能,如自动化部署、自动伸缩、负载均衡、自动恢复和滚动升级等,可以使开发人员和运维人员更加高效地管理和运行容器化应用程序。

除此之外,Kubernetes还提供了丰富的插件和API,允许用户根据自己的需求进行扩展和定制。Kubernetes已经成为容器编排领域的事实标准,被广泛应用于云原生应用程序的开发和运维。

kuberneters概述图

拓展内容:Kubernetes不仅可以用于容器编排,还可以扩信亩展到大规模的数据处理和机器学习等领域。Kubernetes提供的强大的自动化功能可以让开发人员和数据科学家更加专注于业务逻辑和模型开发,而无需过多关注底层基础设施的管理和运维。

K8S的概念是什么

k8s全称为Kubernetes,Kubernetes是Google 2014年创建管理梁答的,是Google
10多年大规模容器管理技术Borg的开源版本。它是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

通过Kubernetes你可以:

快速部槐脊署应用

快速扩展应用

无缝对接新的应用功能

节省资源,优化硬件资源的使用

Kubernetes 特点:

可移植: 支持公有云,私有云,混合云,多橡明慧重云(multi-cloud)

可扩展: 模块化, 插件化, 可挂载, 可组合

自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

超全K8s集群构建指南建议收藏

1. 什么是kubernetes
 Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。

2. kubernetes核心组件说明
Kubernetes 集群中主要存在两种类型的节点,分别是 master 节点 ,以及 minion 节点

Minion 节点是实际运行 Docker 容器的节点,负责和节点上运行的 Docker 进行交互,并且提供了代理功能。

Master 节点负责对外提供一系列管理集群的 API 接口,并且通过和 Minion 节点交互来实现对集群的操作管理。

apiserver :用户和 kubernetes 集群交互的入口,封装了核心对象的增删改查操作,提供了 RESTFul 风格的 API 接口,通过 etcd 来实现持久化并维护对象的一致性。

scheduler :负责集群资源的调度和管理,例如当有 pod 异常退出需要重新分配机器时,scheduler 通过一定的调度算法从而找到最合适的节点。

controller-manager :主要是用于保证 replicationController 定义的复制数量和实际运行的 pod 数量亮禅一致,另外还保证了从 service 到 pod 的映射关系总是最新的。

kubelet :运行在 minion 节点,负责和节点上的 Docker 交互,例如启停容器,监控运行状态等。

proxy :运行在 minion 节点,负责为 pod 提供代理功能,会定期从 etcd 获取 service 信息,并根据 service 信息通过修改 iptables 来实现流量转发(最初的版本是直接通过程序提供转发功能,效率较低。),将流量转发到要访问的 pod 所在的节点上去。

etcd :key-value键值存储数据库,用来存储kubernetes的信息的。

flannel :Flannel 是 CoreOS 团队针对 Kubernetes 设计的一个覆盖网络(Overlay Network)工具,需要另外下载部署。

我们知道当我们启动 Docker 后会有一个用于和容器进行交互的 IP 地址,如果不去管理的话可能这个 IP 地址在各个机器上是一样的,并且仅限于在本机上进行通信,无法访问到其他机器上的 Docker 容器。

Flannel 的目的就是为集群中的所有节点重镇销新规划 IP 地址的使用规则,从而使得不同节点上的容器能够获得同属一个内网且不重复的 IP 地址,并让属于不同节点上的容器能够直接通过内网 IP 通信。

3. Kubernetes的核心概念

Pod
运行于Node节点上,若干相关容器的组合。Pod内包含的容器运行在同一宿主机上,使用相同的网络命名空间、IP地址和端口,能够通过localhost进行通。

Pod是Kurbernetes进行创建、调度和管理的最小单位,它提供了比容器更高层次的抽象,使得部署和管理更加灵活。一个Pod可以包含一个容器或者多个相关容器。

         
Replication Controller
Replication Controller用来管理Pod的副本,保证集群中存在指定数量的Pod副敬旅尘本。

集群中副本的数量大于指定数量,则会停止指定数量之外的多余容器数量,反之,则会启动少于指定数量个数的容器,保证数量不变。

Replication Controller是实现弹性伸缩、动态扩容和滚动升级的核心。

Service
Service定义了Pod的逻辑集合和访问该集合的策略,是真实服务的抽象。

Service提供了一个统一的服务访问入口以及服务代理和发现机制,用户不需要了解后台Pod是如何运行。

Label
Kubernetes中的任意API对象都是通过Label进行标识,Label的实质是一系列的K/V键值对。Label是Replication Controller和Service运行的基础,二者通过Label来进行关联Node上运行的Pod。

Node
Node是Kubernetes集群架构中运行Pod的服务节点(或agent)。

Node是Kubernetes集群操作的单元,用来承载被分配Pod的运行,是Pod运行的宿主机。

4. 前置条件设置
三台Centos7系统的虚拟机(1个master+2个node),三台机器上的防火墙,SELINUX全部关掉。我的实验坏境可以上网,默认的YUM源就可以用。

5. 部署规划
192.168.10.1 # master节点(etcd,kubernetes-master)
192.168.10.2 # node1节点(etcd,kubernetes-node,docker,flannel)
192.168.10.3 # node2节点(etcd,kubernetes-node,docker,flannel)

6. 开始安装

step1:在master上安装
yum install kubernetes-master etcd flannel -y

step2:在node上安装
yum install kubernetes-node etcd flannel -y

step3:etcd集群配置
在master节点上编辑etcd配置文件

在node1节点上编辑etcd配置文件

在node2节点上编辑etcd配置文件

到此etcd集群就部署完了,然后每个节点上启动
systemctl start etcd

step4:验证

step6:启动Master上的三个服务

step7:kubernetes node安装

node2 节点重复上述操作
step8:分别启动kubernetes node服务

7. 网络配置
因为kubernetes集群中网络部分是插件形式安装的,我们这里选用flannel
上述安装步骤已经install 了

为flannel创建分配的网络

8. 执行kubectl 命令检查
在master上执行下面,检查kubernetes的状态

9. 常用排错命令如下

k8s五分钟快速入门

k8s是谷歌开源的容器集群管理系统,是谷歌多年大规模容器管理技术Borg的开源版本,主要功能包括:

从功能上讲Kubernetes是一种综合的基于容器构建分布式系统的基础架构环境,它不仅能够实现基本的拉取用户镜像、运行容器,还可以提供路由网关、水平扩展、监控、备份、灾难恢复等一系列运维能力,而更重要的是Kubernetes可以按照用户的意愿和整个系统的规则,高度自动化的处理好容器之掘纯间的各种关系实现“编排”能力。

简单概括,提供创建应用>应用部署>提供服务>动态伸缩>应用更新一系列服务。

k8s主要由以下几个核心组件:

一个kubernetes集群由分布式存储etcd、控制节点controller以及服务节点Node组成。

如上图所示,Kubernetes在架构上主要由Master和Node两种类型的节点组成,这两种节点分别对应着控制节点和计算节点。其中Master即控制节点,是整个Kubernetes集群的大脑,负责整个集群的管理,比如容器的调度、维护资源的状态、自动扩展以及滚动更新等,并能根据集群系统资源的整体使用情况将作业任务自动分发到可用Node计算节点。

看Master节点主要由三个紧密协作的独立组件组合而成。
需要说明的是,上述组件在工作状态下还会产生许多需要进行持久化的数据,这些数据会通过kube-apiserver处理后统一保存到Etcd存储服务中。 所以从这个角度看kube-apiserver不仅是外部访问Kubernetes集群的入口,也是维护整个Kubernetes集群状态的信息中枢。

而在Kubernetes计算节点中,除了上述3个系统组件外,其他基本与Master节点相同,而其中最核心的部分就是kubelet组件。它的核心功能具如下:

在Kubernetes中kubelet会通御誉过CRI接口同容器运行时进行交互,而容器运行时则通过叫做OCI容器运行时规范与底层Linux操作系统进行交互(涉及对Namespace、Cgroups等资源的操作,具体可以了解下Docker的技术原理)。需要强调的是,这里所说的容器运行时并不仅仅指Docker,而是所有实现了CRI接口规范的容器项目都可以作为Kubernetes的容器运行时存在。这是因为Kubernetes从设计之初就没有把Docker作为整个架构的核心,而只是将其作为最底层的一个容器运行时来实现。

况且从Kubernetes架构设计上判拆咐看,Kubernetes并没有打算重复造轮子而对已有的容器技术进行替代,它更关注的是对运行在大规模集群中的各种任务根据其关系进行作业编排及管理,所以任何实现了CRI、CNI、CSI等协议标准的容器技术都可以无缝地与Kubernetes集成。从这个角度看,Docker与Kubernetes的关系并不是替代的关系,而是平台与组件的关系,Kubernetes可以利用现有的Docker容器运行时技术,但却并不完全依赖Docker。而这也正是Kubernetes为什么被称作容器编排技术而不仅仅只是容器技术的原因。

[1] Kubernetes和Docker的关系是什么?
[2] 《k8s入门指南》这是一个博主写的书

分享到 :
相关推荐

WebHostingPad主机通过cPanel面板查看访客的方法

我们都知道WebhostingPad是美国主机服务商。专注于提供优质的主机服务。以高...

租用无需备案的vps要注意哪些问题(租用无需备案的vps要注意哪些问题)

租用无需备案的vps要注意的问题有:1。检查vps的功用空间所供给的磁盘。网站数量和...

vps服务器租用ip被强制封锁的原因有哪些(如何知道vps的ip封没封)

vps服务器租用ip被强制封锁的原因有:1。vps服务器被人恶意入侵。做一些违法行为...

CC高防服务器靠谱吗(服务器怎么防cc)

CC高防服务器靠谱吗?目前CC攻击是大家都比较担心的攻击类型之一。也常常出现。今天我...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注