<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Kubernetes</id>
	<title>Kubernetes - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Kubernetes"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Kubernetes&amp;action=history"/>
	<updated>2026-07-13T17:33:08Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Kubernetes&amp;diff=2895921&amp;oldid=prev</id>
		<title>imported&gt;Cewbot：​規範{{Multiple issues}}模板: 創建包含3個維護模板的{{Multiple issues}}模板: Expert, Roughtranslation, Expand English</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Kubernetes&amp;diff=2895921&amp;oldid=prev"/>
		<updated>2026-04-17T12:52:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Cewbot/%E8%A6%8F%E7%AF%84%E5%A4%9A%E5%80%8B%E5%95%8F%E9%A1%8C%E6%A8%A1%E6%9D%BF%E8%A8%AD%E5%AE%9A&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User:Cewbot/規範多個問題模板設定（页面不存在）&quot;&gt;規範{{Multiple issues}}模板&lt;/a&gt;: 創建包含3個維護模板的{{Multiple issues}}模板: Expert, Roughtranslation, Expand English&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Multiple issues|&lt;br /&gt;
{{expert|time=2017-06-17T09:32:55+00:00}}&lt;br /&gt;
{{roughtranslation}}&lt;br /&gt;
{{expand English}}&lt;br /&gt;
}}&lt;br /&gt;
{{NoteTA|G1=IT|G2=FL}}&lt;br /&gt;
{{Infobox software&lt;br /&gt;
| title                  = Kubernetes&lt;br /&gt;
| name                   = Kubernetes&lt;br /&gt;
| logo                   = Kubernetes logo without workmark.svg&lt;br /&gt;
| logo size              = 75px&lt;br /&gt;
| caption                =&lt;br /&gt;
| developer              = &lt;br /&gt;
| released               = {{Start date and age|2014|06|07|df=yes}}&amp;lt;ref name=&amp;quot;github first-commit&amp;quot;&amp;gt;{{cite web |url=https://github.com/kubernetes/kubernetes/commit/2c4b3a562ce34cddc3f8218a2c4d11c7310e6d56 |title=First GitHub commit for Kubernetes |work=github.com |date=2014-06-07 |accessdate=2017-06-17 |archive-date=2017-03-01 |archive-url=https://web.archive.org/web/20170301190551/https://github.com/kubernetes/kubernetes/commit/2c4b3a562ce34cddc3f8218a2c4d11c7310e6d56 |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| latest release version = 1.25.3&amp;lt;ref name=&amp;quot;github releases&amp;quot;&amp;gt;{{cite web |url=https://github.com/kubernetes/kubernetes/releases |title=GitHub Releases page |work=github.com |date=2022-10-13 |accessdate=2022-10-13 |archive-date=2017-03-01 |archive-url=https://web.archive.org/web/20170301193419/https://github.com/kubernetes/kubernetes/releases |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| latest release date    = {{release date and age|2022|10|13}}&lt;br /&gt;
| programming language   = [[Go語言|Go]]&lt;br /&gt;
| operating system       = [[跨平台]]&lt;br /&gt;
| genre                  = [[计算机集群#集群管理|集群管理]]&lt;br /&gt;
| license                = [[Apache许可证]] 2.0&lt;br /&gt;
| website                = {{URL|https://kubernetes.io/}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Kubernetes&amp;#039;&amp;#039;&amp;#039;（常简称为&amp;#039;&amp;#039;&amp;#039;K8s&amp;#039;&amp;#039;&amp;#039;{{noteTag|因為開頭字母K与結尾字母s中間有8個其他字母}}）是用于自动部署、扩展和管理「[[作業系統層虛擬化|容器化]]（containerized）应用程序」的[[开源软件|开源]]系统。&amp;lt;ref&amp;gt;{{Cite web|url=http://github.com/kubernetes/kubernetes/|title=kubernetes/kubernetes|website=GitHub|language=en|access-date=2017-03-28|archive-date=2017-04-21|archive-url=https://web.archive.org/web/20170421035413/https://github.com/kubernetes/kubernetes|dead-url=no}}&amp;lt;/ref&amp;gt;該系統由[[Google]]设计并捐赠给Cloud Native Computing Foundation（今属[[Linux基金会]]）来使用。&lt;br /&gt;
&lt;br /&gt;
它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。&amp;lt;ref&amp;gt;{{Cite web|url=https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/|title=What is Kubernetes?|website=Kubernetes|access-date=2017-03-31|archive-date=2019-05-30|archive-url=https://web.archive.org/web/20190530141916/https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/|dead-url=no}}&amp;lt;/ref&amp;gt; 它支持一系列容器工具，包括[[Docker (軟體)|Docker]]等。&lt;br /&gt;
&lt;br /&gt;
== 历史 ==&lt;br /&gt;
[[File:GoogleCloudKubernetes.jpg|thumb|Google Container Engine簡報]]&lt;br /&gt;
Kubernetes（在希腊语意為“舵手”或“驾驶员”）由Joe Beda、Brendan Burns和Craig McLuckie创立，&amp;lt;ref&amp;gt;{{Cite web|url=https://www.wired.com/2015/06/google-kubernetes-says-future-cloud-computing/|title=Google Made Its Secret Blueprint Public to Boost Its Cloud|language=en-US|access-date=2016-06-27|archive-date=2016-07-01|archive-url=https://web.archive.org/web/20160701040235/http://www.wired.com/2015/06/google-kubernetes-says-future-cloud-computing/|dead-url=no}}&amp;lt;/ref&amp;gt;并由其他谷歌工程师，包括Brian Grant和Tim Hockin等进行加盟创作，并由谷歌在2014年首次对外宣布 。&amp;lt;ref&amp;gt;{{cite web|title=Google Open Sources Its Secret Weapon in Cloud Computing|url=https://www.wired.com/2014/06/google-kubernetes/|website=Wired|accessdate=24 September 2015|archive-date=2015-09-10|archive-url=https://web.archive.org/web/20150910171929/http://www.wired.com/2014/06/google-kubernetes|dead-url=no}}&amp;lt;/ref&amp;gt; 該系統的开发和设计都深受谷歌的Borg系统&amp;lt;ref&amp;gt;{{cite journal|author1=Abhishek Verma|author2=Luis Pedrosa|author3=Madhukar R. Korupolu|author4=David Oppenheimer|author5=Eric Tune|author6=John Wilkes|title=Large-scale cluster management at Google with Borg|journal=Proceedings of the European Conference on Computer Systems (EuroSys)|date=April 21–24, 2015|url=https://research.google.com/pubs/pub43438.html|access-date=2017-06-17|archive-date=2017-07-27|archive-url=https://web.archive.org/web/20170727090712/https://research.google.com/pubs/pub43438.html|dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web|url=http://queue.acm.org/detail.cfm?id=2898444|title=Borg, Omega, and Kubernetes - ACM Queue|website=queue.acm.org|access-date=2016-06-27|archive-date=2016-07-09|archive-url=https://web.archive.org/web/20160709023750/http://queue.acm.org/detail.cfm?id=2898444|dead-url=no}}&amp;lt;/ref&amp;gt;的影响，其许多顶级贡献者之前也是Borg系统的开发者。在谷歌内部，Kubernetes的原始代号曾经是[[九之七|Seven]]，即[[星际迷航]]中的Borg（[[博格_(星际旅行)|博格人]]）。&amp;lt;ref&amp;gt;{{Cite news|url=http://www.eweek.com/cloud/early-stage-startup-heptio-aims-to-make-kubernetes-friendly.html|title=Early Stage Startup Heptio Aims to Make Kubernetes Friendly|access-date=2016-12-06}}{{Dead link}}&amp;lt;/ref&amp;gt;Kubernetes标识中舵轮有七个轮辐就是对该项目代号的致意。&lt;br /&gt;
&lt;br /&gt;
Kubernetes v1.0于2015年7月21日发布。&amp;lt;ref&amp;gt;{{cite web|title=As Kubernetes Hits 1.0, Google Donates Technology To Newly Formed Cloud Native Computing Foundation|url=http://techcrunch.com/2015/07/21/as-kubernetes-hits-1-0-google-donates-technology-to-newly-formed-cloud-native-computing-foundation-with-ibm-intel-twitter-and-others/|website=TechCrunch|accessdate=24 September 2015|archive-date=2020-11-17|archive-url=https://web.archive.org/web/20201117040730/https://techcrunch.com/2015/07/21/as-kubernetes-hits-1-0-google-donates-technology-to-newly-formed-cloud-native-computing-foundation-with-ibm-intel-twitter-and-others/|dead-url=no}}&amp;lt;/ref&amp;gt; 随着v1.0版本发布，谷歌与[[Linux基金会]]合作组建了Cloud Native Computing Foundation（CNCF）&amp;lt;ref&amp;gt;{{cite web|url=https://cncf.io/|title=Cloud Native Computing Foundation|accessdate=2017-06-17|archive-date=2017-07-03|archive-url=https://web.archive.org/web/20170703085502/https://www.cncf.io/|dead-url=yes}}&amp;lt;/ref&amp;gt;并將Kubernetes作为种子技术来提供。&lt;br /&gt;
&lt;br /&gt;
Rancher Labs在其Rancher容器管理平台中包含了Kubernetes的发布版。&amp;lt;ref&amp;gt;{{Cite news|url=http://rancher.com/kubernetes/|title=Deploy and Manage Kubernetes Clusters {{!}} Rancher Labs|work=Rancher Labs|access-date=2017-04-15|language=en-US|archive-date=2017-04-16|archive-url=https://web.archive.org/web/20170416125621/http://rancher.com/kubernetes/|dead-url=yes}}&amp;lt;/ref&amp;gt;Kubernetes也在很多其他公司的产品中被使用，例如[[Red Hat]]的[[OpenShift]]，&amp;lt;ref&amp;gt;{{cite web|title=OpenShift v3 Platform Combines Docker, Kubernetes|url=https://blog.openshift.com/openshift-v3-platform-combines-docker-kubernetes-atomic-and-more/|website=blog.openshift.com|accessdate=14 August 2014|archive-url=https://web.archive.org/web/20150706080038/https://blog.openshift.com/openshift-v3-platform-combines-docker-kubernetes-atomic-and-more/|archive-date=2015-07-06|dead-url=yes}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|title=Why Red Hat Chose Kubernetes for OpenShift|url=https://blog.openshift.com/red-hat-chose-kubernetes-openshift/|website=blog.openshift.com|accessdate=7 November 2016|archive-date=2017-02-21|archive-url=https://web.archive.org/web/20170221010202/https://blog.openshift.com/red-hat-chose-kubernetes-openshift/|dead-url=no}}&amp;lt;/ref&amp;gt; CoreOS的Tectonic， [[IBM]]的IBM私有雲产品，&amp;lt;ref&amp;gt;{{cite web|title=IBM Spectrum Conductor for Containers|url=https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W1559b1be149d_43b0_881e_9783f38faaff|website=ibm.com/developerWorks|access-date=2017-05-19|language=en-US|archive-date=2021-01-28|archive-url=https://web.archive.org/web/20210128224502/https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W1559b1be149d_43b0_881e_9783f38faaff|dead-url=no}}&amp;lt;/ref&amp;gt;，精灵云的EcOS&amp;lt;ref&amp;gt;{{cite web|title=Ghostcloud Enterprise Container OS|url=https://www.ghostcloud.cn|website=www.ghostcloud.cn|access-date=2019-07-24|language=en-US|archive-date=2020-11-27|archive-url=https://web.archive.org/web/20201127044851/https://www.ghostcloud.cn/|dead-url=no}}&amp;lt;/ref&amp;gt;，KubeSphere&amp;lt;ref&amp;gt;{{Cite web|title=Open Source Enterprise Kubernetes Platform {{!}} KubeSphere|url=https://kubesphere.io/|access-date=2022-02-21|work=kubesphere.io|language=en-us|archive-date=2022-05-04|archive-url=https://web.archive.org/web/20220504145258/https://kubesphere.io/}}&amp;lt;/ref&amp;gt;，以及 VMware的PKS等等。&lt;br /&gt;
&lt;br /&gt;
而現今資訊界常見的縮寫手法「K8s」則是將“ubernete”八個字母縮寫為“8”而來。&lt;br /&gt;
&lt;br /&gt;
== 设计 ==&lt;br /&gt;
Kubernetes在設計結構上定义了一系列的构建模块，其目的是為了提供一個可以共同提供部署、维护和扩展应用程序的机制。组成Kubernetes的组件设计概念为[[松耦合]]和可扩展的，这样可以使之满足多种不同的工作负载。可扩展性在很大程度上由Kubernetes API提供，此API主要被作为扩展的内部组件以及Kubernetes上运行的容器來使用。&amp;lt;ref name=&amp;quot;do-intro&amp;quot;&amp;gt;{{cite web|title=An Introduction to Kubernetes|url=https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes|website=DigitalOcean|accessdate=24 September 2015|archive-date=2015-10-01|archive-url=https://web.archive.org/web/20151001183617/https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pod ===&lt;br /&gt;
Kubernetes的基本调度单元称为“pod”。通過該種抽象類別可以把更高级别的抽象内容增加到容器化组件。一个pod一般包含一个或多个容器，pod可以保证这些容器运行在同一主机节点上。&amp;lt;ref name=&amp;quot;do-intro&amp;quot; /&amp;gt;Kubernetes中的每个pod都被分配一个唯一的（在集群内的）[[IP地址]]这样就可以允许应用程序使用同一端口，而避免了發生冲突的問題。&amp;lt;ref name=&amp;quot;kubernetes-101-networking&amp;quot;&amp;gt;{{cite web |url=http://www.dasblinkenlichten.com/kubernetes-101-networking/ |title=Kubernetes 101 – Networking |last=Langemak |first=Jon |work=Das Blinken Lichten |date=2015-02-11 |accessdate=2015-11-02 |archive-date=2015-10-25 |archive-url=https://web.archive.org/web/20151025035709/http://www.dasblinkenlichten.com/kubernetes-101-networking/ |dead-url=no }}&amp;lt;/ref&amp;gt; Pod可以定义存储的卷，例如本地磁盘目录或网络磁盘，并将其暴露给pod中的某个容器。&amp;lt;ref name=&amp;quot;kubernetes-for-developers&amp;quot;&amp;gt;{{cite web |last=Strachan |first=James |url=https://medium.com/fabric8-io/kubernetes-for-developers-2a9c7202fcd3#.b6u76jxar |title=Kubernetes for Developers |work=[[Medium (publishing platform)]] |date=2015-05-21 |accessdate=2015-11-02 |archive-date=2015-09-07 |archive-url=https://web.archive.org/web/20150907030556/https://medium.com/fabric8-io/kubernetes-for-developers-2a9c7202fcd3#.b6u76jxar |dead-url=no }}&amp;lt;/ref&amp;gt;。pod可以通过Kubernetes [[API]]手动管理，也可以委托给控制器来實現自動管理。&amp;lt;ref name=&amp;quot;do-intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 标签和选择器 ===&lt;br /&gt;
Kubernetes使客户端（用户或内部组件）将称为“标签”（label）的键值对附加到系统中的任何API对象，如pod和节点。相应地，“标签选择器”（label selector）是通过匹配对象的标签，来查询对象的方法。&amp;lt;ref name=&amp;quot;do-intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
标签和选择器是Kubernetes中的主要分组机制，用于确定操作适用的组件。&amp;lt;ref name=&amp;quot;containerizing-docker-on-Kubernetes&amp;quot;&amp;gt;{{cite news |last=Surana |first=Ramit |url=https://www.linkedin.com/pulse/containerizing-docker-kubernetes-ramit-surana |title=Containerizing Docker on Kubernetes |work=[[LinkedIn]] |date=2015-09-16 |accessdate=2015-11-02 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
例如，如果应用程序的Pods具有系统分层的标签 &amp;lt;code&amp;gt;tier&amp;lt;/code&amp;gt; （比如&amp;quot;&amp;lt;code&amp;gt;front-end&amp;lt;/code&amp;gt;&amp;quot;、&amp;quot;&amp;lt;code&amp;gt;back-end&amp;lt;/code&amp;gt;&amp;quot;）和 &amp;lt;code&amp;gt;release_track&amp;lt;/code&amp;gt; 标签（比如&amp;quot;&amp;lt;code&amp;gt;canary&amp;lt;/code&amp;gt;&amp;quot;、&amp;quot;&amp;lt;code&amp;gt;production&amp;lt;/code&amp;gt;&amp;quot;），那么对所有&amp;quot;&amp;lt;code&amp;gt;back-end&amp;lt;/code&amp;gt;&amp;quot; 和 &amp;quot;&amp;lt;code&amp;gt;canary&amp;lt;/code&amp;gt;&amp;quot; 节点的操作可以使用如下所示的标签选择器：&amp;lt;ref name=&amp;quot;redhat-docker-and-kubernetes-training-labels-examples&amp;quot;&amp;gt;{{cite web |url=http://christianposta.com/slides/docker/generated/day2.html#/label-examples |title=Intro: Docker and Kubernetes training - Day 2 |publisher=[[Red Hat]] |date=2015-10-20 |accessdate=2015-11-02 |archive-url=https://web.archive.org/web/20151029210659/http://christianposta.com/slides/docker/generated/day2.html#/label-examples |archive-date=2015-10-29 |dead-url=yes }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;code&amp;gt;tier=back-end AND release_track=canary&amp;lt;/code&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 控制器 ===&lt;br /&gt;
控制器是将集群的状态转移到所需集群状态的对帐循环機制&amp;lt;ref name=&amp;quot;coreos-replication-controller&amp;quot;&amp;gt;{{cite web |url=https://coreos.com/kubernetes/docs/latest/replication-controller.html |title=Overview of a Replication Controller |work=Documentation |publisher=[[CoreOS]] |accessdate=2015-11-02 |archive-date=2015-09-22 |archive-url=https://web.archive.org/web/20150922010433/https://coreos.com/kubernetes/docs/latest/replication-controller.html |dead-url=no }}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
举例而言，ReplicaSet控制器，通过在集群中运行指定数量的特定pod的副本，来实现对pod复制和缩放的管理。如果有节点出现故障，它还能够在其他节点创建pod的副本以替代被故障所影响的原来的pod。&amp;lt;ref name=&amp;quot;coreos-replication-controller&amp;quot; /&amp;gt;Kubernetes系统还包括其他控制器，包括“DaemonSet控制器”，能够令所有机器（节点）或其中的一部分机器（节点）运行恰好1个pod；“Job控制器”会启动特定任务所需的pod，这样的pod在完成任务后会进入“完成”状态。&amp;lt;ref name=&amp;quot;exciting-experimental-features&amp;quot;&amp;gt;{{cite web |url=http://www.livewyer.com/blog/2015/10/02/kubernetes-exciting-experimental-features |title=Kubernetes: Exciting Experimental Features |last=Sanders |first=Jake |work=Livewyer |date=2015-10-02 |accessdate=2015-11-02 |archive-date=2015-10-20 |archive-url=https://web.archive.org/web/20151020071601/http://www.livewyer.com/blog/2015/10/02/kubernetes-exciting-experimental-features |dead-url=no }}&amp;lt;/ref&amp;gt; 控制器通常使用标签选择器来确定其管理的pod組。&amp;lt;ref name=&amp;quot;redhat-docker-and-kubernetes-training-labels-examples&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 服务 ===&lt;br /&gt;
Kubernetes服务本質是一组协同工作的pod，類同[[多层架构]]应用中的一层。构成服务的pod组通过标签选择器来定义。&amp;lt;ref name=&amp;quot;do-intro&amp;quot; /&amp;gt;Kubernetes通过给服务分配静态IP地址和[[域名系统|域名]]来提供[[服务发现]]机制，并且以{{tsl|en|Round-robin DNS|轮循调度DNS|轮循调度}}的方式将流量负载均衡到能与选择器匹配的pod的IP地址的网络连接上（即使是故障导致pod从一台机器移动到另一台机器）。&amp;lt;ref name=&amp;quot;kubernetes-101-networking&amp;quot; /&amp;gt; 默认情况下，服务任務会暴露在集群中（例如，多个[[前端和后端|后端]]pod可能被分组成一个服务，前端pod的请求在它们之间负载平衡）；除此以外，服务任務也可以暴露在集群外部（例如，从客户端访问前端pod）。&amp;lt;ref name=&amp;quot;kubernetes-101-external-access&amp;quot;&amp;gt;{{cite web |url=http://www.dasblinkenlichten.com/kubernetes-101-external-access-into-the-cluster/ |title=Kubernetes 101 – External Access Into The Cluster |last=Langemak |first=Jon |work=Das Blinken Lichten |date=2015-02-15 |accessdate=2015-11-02 |archive-date=2015-10-26 |archive-url=https://web.archive.org/web/20151026035212/http://www.dasblinkenlichten.com/kubernetes-101-external-access-into-the-cluster/ |dead-url=no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 概念 ==&lt;br /&gt;
[[File:kubernetes.png|600px|thumb|Kubernetes architecture diagram]]&lt;br /&gt;
&lt;br /&gt;
Kubernetes遵循[[主从架构|主從式架構設計]]。Kubernetes的组件可以分为管理单个的 [[节点 (电信网络)|node]] 组件和控制平面部分的组件。&amp;lt;ref name=&amp;quot;do-intro&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;{{cite web|title=Kubernetes Infrastructure|url=https://docs.openshift.org/latest/architecture/infrastructure_components/kubernetes_infrastructure.html|website=OpenShift Community Documentation|publisher=OpenShift|accessdate=24 September 2015|archive-url=https://web.archive.org/web/20150706121423/https://docs.openshift.org/latest/architecture/infrastructure_components/kubernetes_infrastructure.html|archive-date=2015-07-06|dead-url=yes}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 控制平面===&lt;br /&gt;
Kubernetes Master是集群的主要控制单元，其用于管理其工作负载并指导整个系统的通信。Kubernetes控制平面由各自的进程组成，每个组件都可以在单个主节点上运行，也可以在支持[[高可用性集群]]&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;的多个主节点上运行。是Kubernetes控制平面的各种組件如下：&lt;br /&gt;
==== etcd ====&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[https://github.com/coreos/etcd etcd] {{Wayback|url=https://github.com/coreos/etcd |date=20201208185425 }}&amp;#039;&amp;#039;&amp;#039; 是由[[CoreOS]]开发，用于可靠地存储集群的配置数据的一种持久性，轻量型的，分布式的键-值数据存储組件。該組件可表示在任何给定时间点处的集群的整体状态。其他组件在注意到存储的变化之后，会变成相应的状态。&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== API服务器 ====&lt;br /&gt;
API服务器是一个关键组件 并使用 Kubernetes [[Application programming interface|API]] 和 [[JSON]] over [[Hypertext Transfer Protocol|HTTP]]來提供了Kubernetes的内部和外部接口。&amp;lt;ref name=&amp;quot;do-intro&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;:1&amp;quot;&amp;gt;{{Cite web|url=http://kamalmarhubi.com/blog/2015/09/06/kubernetes-from-the-ground-up-the-api-server/|title=Kubernetes from the ground up: API server|last=Marhubi|first=Kamal|date=2015-09-26|website=|publisher=kamalmarhubi.com|access-date=2015-11-02|archive-date=2015-10-29|archive-url=https://web.archive.org/web/20151029131948/http://kamalmarhubi.com/blog/2015/09/06/kubernetes-from-the-ground-up-the-api-server/|dead-url=no}}&amp;lt;/ref&amp;gt; API服务器处理和验证 [[REST]]请求并更新 [[Application programming interface|API]] 对象的状态[https://github.com/coreos/etcd etcd] {{Wayback|url=https://github.com/coreos/etcd |date=20201208185425 }}，从而允许客户端在Worker节点之间配置工作负载和容器。&lt;br /&gt;
&lt;br /&gt;
==== 调度器 ====&lt;br /&gt;
调度器（scheduler）是可扩展组件，它基于剩余可用的资源以及其他约束条件来选择节点，决定pod到哪个节点上运行。调度器跟踪每个节点上的资源利用率，以确保工作负载（workload）不会被分配到超过可用资源的量。为此，调度程其必须知道工作负载的资源需求、节点的可用资源量，以及用户提供的各种约束和策略指令，例如服务质量，亲和性/反亲和性要求，数据本地性等。简言之，调度器的作用是将资源的“供应”与工作负载的“需求”相匹配以維持系統的穩定和可靠。 &amp;lt;ref&amp;gt;{{cite web|url=http://rancher.com/three-pillars-kubernetes-container-orchestration/|title=The Three Pillars of Kubernetes Container Orchestration - Rancher Labs|date=18 May 2017|website=rancher.com|accessdate=22 May 2017|archive-date=2017-06-24|archive-url=https://web.archive.org/web/20170624022635/http://rancher.com/three-pillars-kubernetes-container-orchestration/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 控制器管理 ====&lt;br /&gt;
控制器管理器是核心Kubernetes控制器，其包括DaemonSet控制器和复制控制器等。該控制器可与API服务器進行通信以在需要時创建，更新和删除他们管理的资源（pod，服务端点等）&amp;lt;ref name=&amp;quot;:1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kubernetes 节点 ===&lt;br /&gt;
Node也称为Worker或Minion，是部署容器（工作负载）的单机器（或[[虚拟机]]）。集群中的每个节点都必须具备容器的运行环境（[[运行时|runtime]]） ——比如 [[Docker]]，以及下面提到的其他组件，以便与这些容器的网络配置进行通信。&lt;br /&gt;
&lt;br /&gt;
==== Kubelet ====&lt;br /&gt;
Kubelet负责每个节点的运行状态（即确保节点上的所有容器都正常运行）。它按照控制面（control plane）的指示，以pod来容纳容器，处理容器的启动、停止和维护。&amp;lt;ref name=&amp;quot;do-intro&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{Cite web|url=http://kamalmarhubi.com/blog/2015/08/27/what-even-is-a-kubelet/|title=What [..] is a Kubelet?|last=Marhubi|first=Kamal|date=2015-08-27|website=|publisher=kamalmarhubi.com|access-date=2015-11-02|archive-date=2015-11-13|archive-url=https://web.archive.org/web/20151113064016/http://kamalmarhubi.com/blog/2015/08/27/what-even-is-a-kubelet/|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kubelet會监视pod的状态，如果不处于所需状态，则pod将被重新部署到同一个节点。而关于节点的状态监控，节点状态的消息每隔几秒就會被传送到控制面的API服务器。控制面上检测到节点故障后，会有一个高级的控制器监控到节点状态的变化，并在其他健康的节点上启动原本运行在故障节点上的pod。&amp;lt;ref&amp;gt;{{Cite web|title=Kubernetes Security {{!}} Issues and Best Practices {{!}} Snyk|url=https://snyk.io/learn/kubernetes-security/|access-date=2021-05-16|website=snyk.io|date=26 July 2020|language=en-US}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 容器 ====&lt;br /&gt;
容器从属于pod。在运行应用、库及其依赖的微服务中，容器是最低层级的。通过绑定一个外部IP，容器可以被外网访问。&lt;br /&gt;
&lt;br /&gt;
==== Kube代理 ====&lt;br /&gt;
Kube代理是[[代理服务器|网络代理]]和[[负载均衡|负载均衡]]的实现，支持服务抽象以及其他网络操作。&amp;lt;ref name=&amp;quot;do-intro&amp;quot; /&amp;gt;根据传入请求的IP和端口，該組件會将流量转发到指定的合适的容器中。&lt;br /&gt;
&lt;br /&gt;
==== cAdvisor ====&lt;br /&gt;
cAdvisor 是监视和收集例如每个节点上的容器的CPU，内存，文件和网络使用情况等的资源使用情况和性能指标的代理組件。&lt;br /&gt;
&lt;br /&gt;
== 注释 ==&lt;br /&gt;
{{NoteFoot}}&lt;br /&gt;
&lt;br /&gt;
== 參見 ==&lt;br /&gt;
*[[Kubectl]]&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
{{Reflist|30em}}&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* {{Official website}}&lt;br /&gt;
* {{GitHub|https://github.com/kubernetes/kubernetes}}&lt;br /&gt;
* [https://www.metaage.com.tw/news/technology/293 Kubernetes（K8s）是什麼？基礎介紹+3大優點解析] {{Wayback|url=https://www.metaage.com.tw/news/technology/293 |date=20220910153425 }}&lt;br /&gt;
&lt;br /&gt;
{{虛擬化技術}}&lt;br /&gt;
{{Linux Containers}}&lt;br /&gt;
&lt;br /&gt;
[[Category:雲端運算]]&lt;br /&gt;
[[Category:自由软件]]&lt;br /&gt;
[[Category:虛擬化軟體]]&lt;br /&gt;
[[Category:使用Apache许可证的软件]]&lt;br /&gt;
[[Category:Linux容器化]]&lt;br /&gt;
[[Category:用Go編程的自由軟件]]&lt;br /&gt;
[[Category:2014年軟體]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Cewbot</name></author>
	</entry>
</feed>