[Day 01] 聊聊 Kubernetes 是什麽?

前言

Kubernetes (k8s) 是一个开源平台,可进行自动部署、扩展和管理的「容器化(containerized)应用程序」,用於管理容器化工作负载和服务,并且支援不同的容器工具,其中以Docker最广为人知。容器 (container)提供虚拟化的空间,装载应用程序以及对应的资源环境,不需要OS,Container会相较起来更加轻型并且能在数秒启,在现今微服务 (Micro Services) 架构的快速发展下,使得开发上使用技术更为自由,扩展性和灵活性更好,并降低了程序码耦合度满足单一原则,使每个独立出得服务能更专注在个别的功能上。本次挑战选择 Kubernetes (k8s) 是因为他能让管理容器更简洁方便也有庞大的社群能够彼此讨论解决问题。


未来30天挑战规划

本次挑战是希望能够分享一些Kubernetes的基本观念以及实务上该如何操作并解决问题,从环境的建置到实际的操作使用,搭配套件工具进行辅助让实作能更为方便流畅,最後总结前面所学的内容来加深记忆提高学习成效,我们把这次挑战的目标分为以下几个方向来介绍:

  • Kubernetes介绍 & 环境建置
  • 实务操作 & 基础打底
  • 使用套件 & 工具辅助学习
  • Kubernetes 整合管理调皮的容器

文章连结


什麽是 Kubernetes

k8s图片

Source: https://www.fansysoft.com/blogs/-/asset_publisher/CWuRKonAWio8/blog/kubernetes

Kubernetes 是一种开放程序码解决方案,主要特徵有:

  • 平台负载平衡和扩充
  • 自动部署
  • 多元储存介面
  • 高可用性管理介面

负载平衡和扩充

在Kubernetes cluster中,主要以管理节点(Master Node)和工作节点(work node)组成。当资源需求增加(CPU、RAM……),而丛集执行运算的资源不足时,维运人员能够透过设定或撰写yaml档的方式自动扩充节点,Kubernetes 同时也可以使用负载平衡的功能,在网路上分散流量以维持稳定性。

自动部署

可以使用K8s描述container的所需数目和状态,将指定数目的容器部署至指定的主机,并让它们以期望的状态执行。例如,撰写yaml档来自动化K8s建立新的container,或删除现有container并转移所有资源到新的container。

多元储存介面

基础架构是与储存器软件分开的。有了储存器,所有作业都会虚拟化至作业系统层次。并根据需求为容器装载持续性的本端或云端储存设备。这代表,不管应用程序在哪里执行都能以同样的方式运作,现今大部分储存器已在 Kubernetes 平台上执行。

高可用性管理介面

当容器发生故障时,Kubernetes 可以自动重新启动或自动更换;它还可以关闭不符合您性能检查需求的容器。。而管理节点的核心元件中,Etcd最为重要。Etcd储存了丛集中每个节点的网路配置及状态讯息,而部分讯息是偷过复数个Etcd服务进行投票取得,故Etcd服务数量(即Master节点数量)须为单数。

k8s相关概念:

Docker 虽然是最常用的储存器技术,不过 Kubernetes 也支援其他技术。Docker 定义的范本可将软件封包成标准化单元,内含执行应用程序的所有元素。Kubernetes 则会编排储存器环境,同时优化服务器用量和空间。它会使用智慧型排程、负载平衡、可扩充性、储存管理及批次执行等特性,来管理储存器的部署位置与方式。

Kubernetes 丛集由主要节点和工作者节点组成。(节点是储存器所执行的主机或服务器,它可以是虚拟机器或实体机器。),基本的 Kubernetes 管理单元就是储存器 Pod储存器群组。同一个Pod里的容器共享同一个网络命名空间,可以使用localhost互相通信。Pod是短暂的,不是持续性实体。

主要节点会管理储存器工作负载,并引导跨系统间的通讯。其中包含一个排程器,可控制效能、容量和可用性。
工作者节点则是依主要节点的引导来执行 Pod。配置档可让团队指定作业参数,例如可以一次执行的 Pod 数目。使用 Kubernetes,就能像在单一系统般管理整个资料中心的资源。

结论

相信看完上述对於k8s的介绍,多少能够更加了解容器应用及使用k8s的重要性和优点,之後的29天也会一步步带着各位更深入了解k8s并且应用在实务面,让我们继续努力下去吧!

参考资料

Kubernetes在夯什麽—K8S基础介绍
IBM Cloud 学习中心 何谓 Kubernetes?


<<:  JavaScript入门 Day08_如何使用字串3

>>:  伪元素(pseudo element)、伪类别(pseudo element)

Day 30 - 莫忘初衷

原来已经一个月了,想当初充满着犹豫要不要开赛,开赛後又想着会不会断赛,深知真的断赛肯定会後悔,庆幸挺...

<Day17>在用API做投资前,先弄懂什麽是"量化交易"?

● 让我们来一起探究什麽是"量化交易"吧! 说到"反覆验证"...

资安学习路上-渗透测试实务2

弱点扫描(机器扫描) 蒐集对方系统资讯,可透过工具列举出易受攻击的弱点 上图取自台科大资安社课教材 ...

[day19] 优惠券检查

今天结膜炎,看完医生整个白天都躺在床上眼睛痒得要死动不了,晚餐後好一点,写一点昨天缺漏的小东西 讲个...

18 | WordPress 自订 HTML 区块 Custom HTML Block

超文字标记语言 (HTML) 是用於描述网页语意内容的语言。你可以使用自订 HTML 区块新增此语言...