关于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位となった。
角色亮相
节点…
节点在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名称并负责负载均衡。