Kubernetesの学習パート1:導入
10094 ワード
このポストは、Kubernetesについてのシリーズの最初の部分です.チュートリアルのシリーズではなく、これは私の旅の概念とツールKubernetesを使用してオーケストレーションについて学ぶ定期的なログになることを意味します.
インストール
私はKubernetes(それを管理していない)を使用する方法を学ぶつもりだったので、私はGoogleのクラウドプラットフォームでKubernetesクラスタを開始し、そこから働いた.したがって、私はKubernetesクラスタのインストールと設定このシリーズではありません.GCP Kubernetesクラスタを使用する方法の詳細についてはhere .
最初に:概念
私は常に理解し、新しい技術やツールを学ぶことができます1つのことは、ツールや技術の目的は何かを理解することです、それは何のために使用され、概念を正しく取得します.
あなたが基本的な概念を理解していることは、ツール/技術のあなたの知識を向上させる前に、道の大きな助けです.
では、Kubernetesとは何かを理解して始めよう.
クベルネート
Kubernetesは、ノードのグループ間でコンテナアプリケーションを管理することができますオーケストレーションツールです.だけでなく、それらを迅速に実行するためのメカニズムを提供するだけでなく、どのように更新、展開、それらへのアクセスを提供します.
ポッド:Kubernetes宇宙の原子
PODはKubernetesクラスタ内の最小単位であり、同じ分離実行環境で実行中のアプリケーションコンテナとボリュームのコレクションを表します.同じPODの各コンテナは同じIPアドレス、名前空間、およびストレージを共有します.
私は容器のコレクションとしてポッドを説明しましたが、最も一般的なパターンはポッドあたり1つの容器を持つことです.同じpodでグループを複数コンテナについて考える必要があるなら
答えが「いいえ」であるならば、あなたは確かに同じポッドのそれらのコンテナをグループ化しなければなりません.
Kubectlの基礎
さらに進む前に、Kubectl(Kubernetes CommandLine Tool)の基本的な機能を見てみましょう.
バージョンとステータス
KubectlとKubernetesが正常に動作するようにするには、次のコマンドを実行します.
さらに、Kubernetesクラスタのメインコンポーネントの状態を確認できます.
節
Kubernetesクラスタを構成するノードに関する情報を取得するには、次のコマンドを実行します.
ポッド
さて、すぐにポッドについて教えてください.
次のように実行します.
また、他のコマンドなどの詳細をチェックすることもできます
ログの他にアプリケーションをデバッグする1つの最終的な方法は、
最後に、作成したPODを削除するには、次の手順を実行します.
あなたが私の説明が好きであるならば、あなたは私に続くことができます.
次の部分をクリックします.
インストール
私はKubernetes(それを管理していない)を使用する方法を学ぶつもりだったので、私はGoogleのクラウドプラットフォームでKubernetesクラスタを開始し、そこから働いた.したがって、私はKubernetesクラスタのインストールと設定このシリーズではありません.GCP Kubernetesクラスタを使用する方法の詳細についてはhere .
最初に:概念
私は常に理解し、新しい技術やツールを学ぶことができます1つのことは、ツールや技術の目的は何かを理解することです、それは何のために使用され、概念を正しく取得します.
あなたが基本的な概念を理解していることは、ツール/技術のあなたの知識を向上させる前に、道の大きな助けです.
では、Kubernetesとは何かを理解して始めよう.
クベルネート
Kubernetesは、ノードのグループ間でコンテナアプリケーションを管理することができますオーケストレーションツールです.だけでなく、それらを迅速に実行するためのメカニズムを提供するだけでなく、どのように更新、展開、それらへのアクセスを提供します.
ポッド:Kubernetes宇宙の原子
PODはKubernetesクラスタ内の最小単位であり、同じ分離実行環境で実行中のアプリケーションコンテナとボリュームのコレクションを表します.同じPODの各コンテナは同じIPアドレス、名前空間、およびストレージを共有します.
私は容器のコレクションとしてポッドを説明しましたが、最も一般的なパターンはポッドあたり1つの容器を持つことです.同じpodでグループを複数コンテナについて考える必要があるなら
Will these containers work properly if they land on different machines?
答えが「いいえ」であるならば、あなたは確かに同じポッドのそれらのコンテナをグループ化しなければなりません.
Kubectlの基礎
さらに進む前に、Kubectl(Kubernetes CommandLine Tool)の基本的な機能を見てみましょう.
バージョンとステータス
KubectlとKubernetesが正常に動作するようにするには、次のコマンドを実行します.
kubectl version
そして、あなたは、それがあなたのKubernetesクラスタとクライアントのバージョンをリストしている下のイメージのようなものを見るべきです.さらに、Kubernetesクラスタのメインコンポーネントの状態を確認できます.
kubectl get componentstatuses
これには次のような出力があります.節
Kubernetesクラスタを構成するノードに関する情報を取得するには、次のコマンドを実行します.
kubectl get nodes
このコマンドは、次のイメージで見ることができますので、クラスタのすべてのノードに関する基本的な情報を一覧表示します.私が以前に言ったように、私のクラスタはGoogleのクラウド・プラットフォーム上にあるので、セットアップ(ローカルクラスタまたは別のクラウドプロバイダのクラスタ)によっては、出力は少し異なります.ポッド
さて、すぐにポッドについて教えてください.
kubectl run kubernetes-hello-world --image=paulbouwer/hello-kubernetes:1.9 --port=8080
注意kubectl run
物事を行うには理想的な方法ではありませんが、例のためにそれをしましょう.次のポストでは、リソースを定義する正しい方法を探索します.出力は以下のようになります.次のように実行します.
kubectl get pods
次の出力を取得します.ここでは、kubectl run
コマンド.また、他のコマンドなどの詳細をチェックすることもできます
describe
and logs
, 次のようになります.kubectl describe pods kubernetes-hello-world
kubectl logs kubernetes-hello-world
最初に指定されたPODの詳細な説明を次に示します.Name: kubernetes-hello-world
Namespace: default
Priority: 0
Node: gke-kuar-cluster-default-pool-41051aa0-hs4q/10.138.15.194
Start Time: Thu, 11 Mar 2021 17:44:41 +0000
Labels: run=kubernetes-hello-world
Annotations: <none>
Status: Running
IP: 10.96.14.3
IPs:
IP: 10.96.14.3
Containers:
kubernetes-hello-world:
Container ID: docker://db09b9c745c03f3e757f1f386f5df8e04e48faaace587cfa72ed1f3e6a751300
Image: paulbouwer/hello-kubernetes:1.9
Image ID: docker-pullable://paulbouwer/hello-kubernetes@sha256:be6b5ba3abdca6e01689e0d1d27b41410fb5bf5793da407108a89ef355f362f0
Port: 8080/TCP
Host Port: 0/TCP
State: Running
Started: Thu, 11 Mar 2021 17:44:50 +0000
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-dzc9f (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
default-token-dzc9f:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-dzc9f
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 23m default-scheduler Successfully assigned default/kubernetes-hello-world to gke-kuar-cluster-default-pool-41051aa0-hs4q
Normal Pulling 23m kubelet Pulling image "paulbouwer/hello-kubernetes:1.9"
Normal Pulled 23m kubelet Successfully pulled image "paulbouwer/hello-kubernetes:1.9"
Normal Created 23m kubelet Created container kubernetes-hello-world
Normal Started 23m kubelet Started container kubernetes-hello-world
番目のオプションは、実行中のコンテナに関連するログを与えます.デバッグと検査のこれらの方法は、Kubernetes(ポッド、展開、サービスなど)で利用可能なすべてのリソースで利用可能です.ログの他にアプリケーションをデバッグする1つの最終的な方法は、
exec
でkubectl exec -it kubernetes-hello-world -- sh
この相互作用の例を次のように表示できます.最後に、作成したPODを削除するには、次の手順を実行します.
あなたが私の説明が好きであるならば、あなたは私に続くことができます.
次の部分をクリックします.
Reference
この問題について(Kubernetesの学習パート1:導入), 我々は、より多くの情報をここで見つけました https://dev.to/vascoalramos/learning-kubernetes-concepts-part-1-pb0テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol