云原生——Kubenetes基础

❄️作者介绍:奇妙的大歪❄️

🎀个人名言:但行前路,不负韶华!🎀

🐽个人简介:云计算网络运维专业人员🐽

目录

一.什么是Kubernetes?

二.为什么你需要 Kubernetes ?

三.Kubernetes 能做些什么?

四.Kubernetes 入门

五.生产环境中使用 Kubernetes

六.Kubernetes 如何适用于你的基础设施

七.docker 在 Kubernetes 中的角色


 一.什么是Kubernetes?

       Kubernetes,简称 k8s(k,8 个字符,s——明白了?)或者 “kube”,是一个开源的 Linux 容器自动化运维平台,它消除了容器化应用程序在部署、伸缩时涉及到的许多手动操作。换句话说,你可以将多台主机组合成集群来运行 Linux 容器,而 Kubernetes 可以帮助你简单高效地管理那些集群。构成这些集群的主机还可以跨越公有云、私有云以及混合云。

        Kubernetes 最开始是由 Google 的工程师设计开发的。Google 作为 Linux 容器技术的早期贡献者之一,曾公开演讲介绍 Google 如何将一切都运行于容器之中(这是 Google 的云服务背后的技术)。Google 一周内的容器部署超过 20 亿次,全部的工作都由内部平台 Borg 支撑。Borg 是 Kubernetes 的前身,几年来开发 Borg 的经验教训也成了影响 Kubernetes 中许多技术的主要因素。

红帽作为最早与 Google 合作开发 Kubernetes 的公司之一(甚至早于 Kubernetes 的发行),已经是 Kubernetes 上游项目的第二大贡献者。Google 在 2015 年把 Kubernetes 项目捐献给了新成立的 云计算基金会 - Cloud Native Computing Foundation(CNCF)。

二.为什么你需要 Kubernetes ?

真实的生产环境应用会包含多个容器,而这些容器还很可能会跨越多个服务器主机部署。Kubernetes 提供了为那些工作负载大规模部署容器的编排与管理能力。Kubernetes 编排让你能够构建多容器的应用服务,在集群上调度或伸缩这些容器,以及管理它们随时间变化的健康状态。

Kubernetes 也需要与网络、存储、安全、监控等其它服务集成才能提供综合性的容器基础设施。

Kubernetes 解释-图表

当然,这取决于你如何在你的环境中使用容器。一个初步的 Linux 容器应用程序把容器视作高效、快速的虚拟机。一旦把它部署到生产环境或者扩展为多个应用,很显然你需要许多组托管在相同位置的容器合作提供某个单一的服务。随着这些容器的累积,你的运行环境中容器的数量会急剧增加,复杂度也随之增长。

Kubernetes 通过将容器分类组成 “pod” 来解决了容器增殖带来的许多常见问题。pod 为容器分组提供了一层抽象,以此协助你调度工作负载以及为这些容器提供类似网络与存储这类必要的服务。Kubernetes 的其它组件帮助你对 pod 进行负载均衡,以保证有合适数量的容器支撑你的工作负载。

正确实施的 Kubernetes,结合类似 Atomic Registry、Open vSwitch、heapster、OAuth 和 SELinux的开源项目,让你可以管理你自己的整个容器基础设施。

三.Kubernetes 能做些什么?

在生产环境中使用 Kubernetes 的主要优势在于它提供了在物理机或虚拟机集群上调度和运行容器的平台。更宽泛地说,它能帮你在生产环境中实现可以依赖的基于容器的基础设施。而且,由于 Kubernetes 本质上就是运维任务的自动化平台,你可以执行一些其它应用程序平台或管理系统支持的操作,只不过操作对象变成了容器。

有了 Kubernetes,你可以:

  • 跨主机编排容器。
  • 更充分地利用硬件资源来最大化地满足企业应用的需求。
  • 控制与自动化应用的部署与升级。
  • 为有状态的应用程序挂载和添加存储器。
  • 线上扩展或裁剪容器化应用程序与它们的资源。
  • 声明式的容器管理,保证所部署的应用按照我们部署的方式运作。
  • 通过自动布局、自动重启、自动复制、自动伸缩实现应用的状态检查与自我修复。

然而 Kubernetes 依赖其它项目来提供完整的编排服务。结合其它开源项目作为其组件,你才能充分感受到 Kubernetes 的能力。这些必要组件包括:

  • 仓库:Atomic Registry、Docker Registry 等。
  • 网络:OpenvSwitch 和智能边缘路由等。
  • 监控:heapster、kibana、hawkular 和 elastic。
  • 安全:LDAP、SELinux、 RBAC 与 支持多租户的 OAUTH。
  • 自动化:通过 Ansible 的 playbook 进行集群的安装和生命周期管理。
  • 服务:大量事先创建好的常用应用模板。

红帽 OpenShift 为容器部署预先集成了上面这些组件。

四.Kubernetes 入门

和其它技术一样,大量的专有名词有可能成为入门的障碍。下面解释一些通用的术语,希望帮助你理解 Kubernetes。

  • Master(主节点): 控制 Kubernetes 节点的机器,也是创建作业任务的地方。
  • Node(节点): 这些机器在 Kubernetes 主节点的控制下执行被分配的任务。
  • Pod: 由一个或多个容器构成的集合,作为一个整体被部署到一个单一节点。同一个 pod 中的容器共享 IP 地址、进程间通讯(IPC)、主机名以及其它资源。Pod 将底层容器的网络和存储抽象出来,使得集群内的容器迁移更为便捷。
  • Replication controller(复制控制器): 控制一个 pod 在集群上运行的实例数量。
  • Service(服务): 将服务内容与具体的 pod 分离。Kubernetes 服务代理负责自动将服务请求分发到正确的 pod 处,不管 pod 移动到集群中的什么位置,甚至可以被替换掉。
  • Kubelet: 这个守护进程运行在各个工作节点上,负责获取容器列表,保证被声明的容器已经启动并且正常运行。
  • kubectl: 这是 Kubernetes 的命令行配置工具。

上面这些知识就足够了吗?不,这仅仅是一小部分,更多内容请查看 Kubernetes 术语表。

五.生产环境中使用 Kubernetes

Kubernetes 是开源的,所以没有正式的技术支持机构为你的商业业务提供支持。如果在生产环境使用 Kubernetes 时遇到问题,你恐怕不会太愉快,当然你的客户也不会太高兴。

这就是红帽 OpenShift 要解决的问题。OpenShift 是为企业提供的 Kubernetes ——并且集成了更多的组件。OpenShift 包含了强化 Kubernetes 功能、使其更适用于企业场景的额外部件,包括仓库、网络、监控、安全、自动化和服务在内。OpenShift 使得开发者能够在具有伸缩性、控制和编排能力的云端开发、托管和部署容器化的应用,快速便捷地把想法转变为业务。

而且,OpenShift 还是由头号开源领导公司红帽支持和开发的。

六.Kubernetes 如何适用于你的基础设施

Kubernetes 图表

Kubernetes 运行在操作系统(例如 Red Hat Enterprise Linux Atomic Host)之上,操作着该节点上运行的容器。Kubernetes 主节点(master)从管理员(或者 DevOps 团队)处接受命令,再把指令转交给附属的节点。这种带有大量服务的切换工作自动决定最适合该任务的节点,然后在该节点上分配资源并指派 pod 来完成任务请求。

所以从基础设施的角度,管理容器的方式发生了一点小小的变化。对容器的控制在更高的层次进行,提供了更佳的控制方式,而无需用户微观管理每个单独的容器或者节点。必要的工作则主要集中在如何指派 Kubernetes 主节点、定义节点和 pod 等问题上。

七.docker 在 Kubernetes 中的角色

上面这些知识就足够了吗?不,这仅仅是一小部分,更多内容请查看 Kubernetes 术语表。 技术依然执行它原本的任务。当 kubernetes 把 pod 调度到节点上,节点上的 kubelet 会指示 docker 启动特定的容器。接着,kubelet 会通过 docker 持续地收集容器的信息,然后提交到主节点上。Docker 如往常一样拉取容器镜像、启动或停止容器。不同点仅仅在于这是由自动化系统控制而非管理员在每个节点上手动操作的。

 🎀看都看到这里啦留个三连再走吧!!你们的支持就是我的动力!!!🎀🎀🎀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/2952.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6应用层-6.3【实验】【计算机网络】

6应用层-6.3【实验】【计算机网络】 前言推荐实验6应用层知识DHCP协议分析DHCP报文格式DHCP抓包分析 6.1 Web服务与FTP服务配置6.2 DNS域名系统配置6.3 DHCP动态协议参数配置实验目的实验内容及实验环境实验原理实验过程1.搭建网络环境2.配置路由器3.配置DSCP服务器4.完成右侧网…

frp内网穿透

frp内网穿透 一.frp的作用和原理图 1.首先frp分客户端和服务端,frp客户端和服务端在同一个局域网。 2.frp服务端拥有公网ip与互联网连通。 frp的作用: 通过一台公司拥有外网ip的服务器做为frp服务端,通过请求转发的形式,转发到公…

STM32外设系列—L298N

文章目录 一、L298N简介二、L298N电路图三、L298N使用方法四、L298N驱动电机实例4.1 麦克纳姆轮简介4.2 定时器PWM配置4.3 智能车行驶控制 五、拓展应用 一、L298N简介 L298N是SGS公司生产的一款通用的电机驱动模块。其内部包含4路逻辑驱动电路,有两个H桥的高电压大…

【spring】spring是什么?详解它的特点与模块

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、spring介绍 二、spring的特点(七点) 1、简化开发 2、AOP的支持 3、声明式事务的支持 4、方便测试 5、…

C++静态和动态链接库导出和使用

1、简介 代码开发过程中会遇到很多已有的函数库,这些函数库是现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说库是一种…

机器学习笔记 - Facebook AI Similarity Search(Faiss)简介

一、概述 Facebook AI Similarity Search (Faiss)是高效相似性搜索最受欢迎的轮子之一。给定一组向量,我们可以使用 Faiss 对它们进行索引——然后使用另一个向量(查询向量),我们在索引中搜索最相似的向量。 它包含搜索任何大小的向量集的算法,除非超出RAM的大小。它还包…

【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

EFS文件夹加密属性灰色不能勾选怎么办?

EFS加密是Windows自带的文件夹加密方式,对于用户而言,它的加密是无感的。但是有些时候我们会发现EFS的加密选项为灰色,且无法勾选,那么这时该怎么办呢? 使用EFS加密的条件 首先,要使用EFS加密功能并不是没…

华为智能高校出口安全解决方案(1)

华为智能高校出口安全解决方案(1) 视频链接方案背景需求分析高校园区网概述高校园区网全景高校出口场景介绍高校出口整体需求分析业务安全需求攻击防御需求运维审计需求 方案规划华为智能高校出口安全解决方案架构华为智能高校出口安全解决方案功能划分业…

总结vue3 的一些知识点:​Vue3 起步

目录 引言 Vue3 混入 实例 选项合并 实例 实例 全局混入 实例 Vue3 起步 Vue 3.0 实例 data 选项 实例 方法 总结 引言 Vue 进阶系列教程将在本号持续发布,一起查漏补缺学个痛快!若您有遇到其它相关问题,非常欢迎在评论中留言讨…

Linux终端与进程的关系 ( 1 ) -【Linux通信架构系列】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the…

CleanMyMac X中文版Mac电脑系统清理工具使用测评

有些人可能会说,mac系统根本就不需要清理,但是真正到你磁盘快满的时候就不是这种想法了,不管什么系统,它都会缓存一些系统、用户等文件,可能当时能够帮上大忙,能够在操作的时候更快、更便捷,但是…