关于Kubernetes,我们来总结一下其中的角色

容器编排是什么?

Docker Swarm、Mesos、Kubernetesに代表される、複数のコンテナをうまく管理するための仕組み。
コンテナが動作するマシンが一つだと、マシンの故障とともに中で動くシステムもダウンしてしまうため、一つのアプリケーションを複数のコンテナに分けて、複数のマシン上で動作させたい。マシンごとのスペック格差も是正したい。こういった悩みを解決するのがコンテナオーケストレーションツール。

Kubernetes是一种云原生技术。

这是一个由Google开发的,用于部署、扩展和管理容器化应用程序的开源容器编排系统。
…简而言之,它是一个免费的系统,可以巧妙地处理Docker容器。

Kubernetesが誕生した歴史

“Kubernetes”(クベルネテス)は、ギリシャ語で航海長または水先案内人を意味し、サイバネティクス(人工頭脳学)の語源でもある。Kubernetesは、当初Joe Beda、Brendan Burns、Craig McLuckieの3人によって開発が始まり、すぐにBrian GrantやTim Hockinなど、他のGoogleのエンジニアも参加するようになり、2014年中ごろにGoogleから初めて発表された。Kubernetesの開発や設計はGoogleのBorgシステムから強い影響を受けており、Borgのトップコントリビュータの多くが開発に参加している。Google内でのKubernetesのもともとのコードネームはProject Sevenであり、スター・トレックのキャラクターで、優しいBorgである、セブン・オブ・ナインの名前に由来する。Kubernetesのロゴの輪にある7つのスポークは、このコードネームに由来している。

Kubernetes v1.0は2015年7月21日(私の誕生日です!)にリリースされた。Kubernetes v1.0のリリースと同時に、GoogleはLinux Foundationと共同でCloud Native Computing Foundation(CNCF)を設立し、Kubernetesを種となる技術として提供した。2018年3月6日には、KubernetesプロジェクトはGitHubにおけるコミット数で第9位に到達し、コントリビューター数とissue数では、Linuxカーネルプロジェクトに次いで第2位となった。

角色亮相

image.png

节点…

节点在Kubernetes中是工作机器。每个节点都由主控节点管理。

豆荚 jiá)

Kubernetes上的最小部署单元,可以是一个或多个容器。它可以共享网络和存储资源,并具有有关容器执行方式的用法。

kube-proxy…

Kubernetes代理…

kube-proxyはクラスター内の各nodeで動作しているネットワークプロキシで、KubernetesのServiceコンセプトの一部を実装している。

kubelet…
kubelet(库布莱特)…

负责管理由Pod部署的容器在节点上运行的组件。

聚集…

冗余化资源是指不属于特定命名空间的资源,它们负责冗余备份。

主节点…

提供控制平面(Controll Plane)也被称为Kubernetes集群内用于配置和管理资源的API。

Deployment…

管理副本集的资源,提供滚动更新、回滚等更新功能和还原功能。

命名空间

在同一个物理集群上支持多个虚拟集群运行的组件。

ReplicaSet…

指定したレプリカ数のpodを常に保証してくれるリソース。replicas(pod数), pod template, selector(対象podを特定する情報)というフィールドを持ち、コンテナ数を担保する特性上使用が推奨されない。(Deployまでやってくれないため。)

调度员…

管理容器的布局。选择最适合运行新创建的每个Pod和未调度的其他Pod的节点。

etcd…
键值存储系统(etcd)…

它被用作保存Kubernetes所有集群信息的地方,具有一致性和高可用性的键值存储。

APIServer…

APIサーバーは、Kubernetes APIを外部に提供するKubernetesコントロールプレーンのコンポーネント。 APIサーバーはKubernetesコントロールプレーンのフロントエンド部分。各nodeに命令を発行する。

kubectl 用于在 Kubernetes 集群中操作、管理和监控容器化应用程序。

可用于Kubernetes的命令行工具,可用于控制Kubernetes集群。

配置映射

機密性のないデータをキーと値のペアで保存し、podから参照できるようにするもの。コンテナイメージと固有の設定を切り離すことができる。

秘密

存储和管理机密信息(如密码和令牌等),并从pod中引用的资源。其文件格式与ConfigMap相似。

服务 (fú wù)

把一群pod抽象化并公开的工具。提供一群pod的DNS名称并负责负载均衡。