因为不太了解Kubernetes的命令(kubectl,kubeadm,kubelet)之间的区别,所以我进行了调查
首先
最近开始在业务中接触 Kubernetes,但平时主要是通过 kubectl 来查看 pod 和 container 的状态以及查看日志,意识到基本上只接触过 kubectl,并不了解其他工具如 kubelet、kubeadm 等的用途,因此进行了一番调查并总结了它们的含义。以下是为那些希望简要了解的方向准备的。
组成
-
- kubectlとは?
-
- kubeletとは?
-
- kubeadmとは?
- の3本でお送りいたします。
kubectl是什么?
根据公式参考资料的一部分,以下是它的意思:
Kubectl是一个用于对Kubernetes集群运行命令的命令行界面。
它是为了对Kubernetes集群(包括主节点和工作节点等多台服务器)执行命令而设计的接口。
它可以用来查看节点、Pod等内容,从yaml文件中应用配置,以及查看日志等操作。
Kubelet是什么?
公式リファレンスの一部を引用しますと、以下とのことです。
The kubelet is the primary “node agent” that runs on each node. It can register the node with the apiserver using one of: the hostname; a flag to override the hostname; or specific logic for a cloud provider.
google先生に翻訳していただくと、「kubeletは、各ノードで実行されるプライマリ「ノードエージェント」です。次のいずれかを使用して、apiserverにノードを登録できます。ホスト名を上書きするフラグ。またはクラウドプロバイダーの特定のロジック。」といった内容だそうです。
・・・ごめんなさい、よくわかりません。
他にもCoreOSブログの記事にkubeletの説明があったので、引用してみた。
The kubelet is responsible for maintaining a set of pods, which are composed of one or more containers, on a local system. Within a Kubernetes cluster, the kubelet functions as a local agent that watches for pod specs via the Kubernetes API server. The kubelet is also responsible for registering a node with a Kubernetes cluster, sending events and pod status, and reporting resource utilization.
如果让Google先生翻译,以下是内容:
「kubelet在本地系统上负责维护由一个或多个容器组成的Pod集。在Kubernetes集群中,kubelet充当本地代理,通过Kubernetes API服务器监视Pod规范。kubelet还负责将节点注册到Kubernetes集群中,发送事件和Pod状态,并报告资源使用率。」
使用Kubernetes节点或通过Kubernetes API服务器监视pod。可以报告pod的状态和资源使用情况,就是这个意思吧。
kubeadm 是什么?
在公式参考资料中的一部分翻译成中文,它说:“执行为了使最小可行的集群运行所需的动作。”
此外,我查看了kubeadm命令的帮助文档,大致概要写在开头。
“轻松引导一个安全的Kubernetes集群”
由于我查不到bootstrap的意思,所以我用自己的话来表达,
“用于轻松创建安全的Kubernetes集群”
感觉可以用于构建Kubernetes集群。
まとめ
-
- kubectl
構築してある kubernetes の操作を行うためのCLI。
kubelet
Kubernetes APIサーバーを介して pod の監視を行う。podのステータスやリソース使用率をレポートもする。
kubeadm
kubernetesクラスタを作るときに主に使用する。
最后
構築済みのkubernetesを使用していたから、kubectlばかりを使っていたことがわかりました。
私の理解度の問題かもですが、ドキュメントやヘルプで説明された内容ではピンとこないことがよくあります。そんな方向けにまずはざっくりとした概要を掴んでいただけたら幸いです。
内容がまちがってたら教えてください。とても助かります。
それではここまで読んでくださり、ありがとうございました!
我参考了您的意见。
Kubernetes Reference
「公式リファレンス」と本文中で表記していたのはこちらです。
Kubernetes: 構成コンポーネント一覧
CoreOS Blog
kubeletのログの確認
Kubernetesと使用するOracle® Container Servicesユーザーズ・ガイド