クラウドネイティブ アプリケーションの台頭により、Kubernetes はコンテナ オーケストレーションの事実上の標準になりました。 Kubernetes はオープンソースであり、さまざまな Linux ディストリビューション上で実行できるため、Linux システムで Kubernetes コンテナ オーケストレーションを使用するのが非常に一般的です。この記事では、Linux システムに Kubernetes をインストールして構成する方法、およびコンテナ オーケストレーションに Kubernetes を使用する方法を紹介します。
Linux システムに Kubernetes をインストールするには、通常、次の手順が必要です。
1.1 Docker のインストール
Kubernetes が原因Docker をコンテナー ランタイムとして使用するため、最初に Docker をインストールする必要があります。 Ubuntu システムでは、次のコマンドを使用して Docker をインストールできます。
sudo apt-get update sudo apt-get install docker.io
CentOS システムでは、次のコマンドを使用して Docker をインストールできます。
sudo yum install docker sudo systemctl start docker sudo systemctl enable docker
1.2 Kubernetes のインストール
Ubuntu システムの場合 CentOS システムでは、次のコマンドを使用して Kubernetes をインストールできます:
sudo apt-get update && sudo apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list sudo apt-get update sudo apt-get install -y kubelet kubeadm kubectl
CentOS システムでは、次のコマンドを使用して Kubernetes をインストールできます:
sudo yum install -y epel-release sudo yum update -y sudo yum install -y kubelet kubeadm kubectl sudo systemctl enable kubelet && sudo systemctl start kubelet
2.1 マスター ノードの初期化
Kubernetes クラスターでは、マスター ノードがクラスター全体の管理を担当します。マスター ノードを初期化するには、次のコマンドを実行する必要があります。
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
このコマンドは、必要なコンポーネントをインストールし、ノードに参加するためのコマンドを生成します。実行コマンド出力の最後の数行には、次のようなノードに参加するためのコマンドが含まれます。
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
このコマンドの出力は一意であり、マスター ノードにのみ適用されることに注意してください。
2.2 ワーカー ノードへの参加
ワーカー ノードを Kubernetes クラスターに追加するには、前の手順で出力されたノード参加コマンドを実行する必要があります。例:
sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
このコマンドを実行すると、必要なコンポーネントがインストールされ、ワーカー ノードがクラスターに追加されます。
2.3 ネットワーク プラグインのインストール
Kubernetes では、ポッドにネットワークを提供するためにネットワーク プラグインが必要です。一般的に使用されるネットワーク プラグインには、Flannel や Calico などがあります。ここでは、Flannel をインストールすることを選択します。 Flannel をインストールするには、次のコマンドを実行できます。
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
これで、Linux システムに Kubernetes が正常にインストールされ、構成されました。次に、Kubernetesをコンテナオーケストレーションに使用する方法を紹介します。
3.1 デプロイメントの作成
Kubernetes では、デプロイメントはポッドを作成および管理するための抽象化です。デプロイメントを作成するには、kubectl コマンドを使用します。たとえば、nginx という名前のデプロイメントを作成するには、次のコマンドを実行できます:
kubectl create deployment nginx --image=nginx
このコマンドは、Docker Hub 上の nginx イメージを使用して、nginx という名前のコンテナーをデプロイします。
3.2 デプロイメントの編集
デプロイメントを変更するには、kubectl editdeployment コマンドを使用できます。たとえば、nginx デプロイのレプリカの数を 3 に変更するには、次のコマンドを実行します。
kubectl edit deployment nginx
これにより、yaml ファイルを変更できるエディタが開きます。レプリカ フィールドの値を 3 に変更し、保存してエディタを終了します。
3.3 サービスの公開
Kubernetes では、サービスはポッドのネットワーク エンドポイントを公開するために使用される抽象化です。デプロイメントのサービスを公開するには、kubectl Expose コマンドを使用できます。たとえば、nginx デプロイメントのサービスを公開するには、次のコマンドを実行します。
kubectl expose deployment nginx --port=80 --type=NodePort
このコマンドは、nginx という名前のサービスを作成し、クラスター内のすべてのノードのポート 80 に公開します。
3.4 デプロイメントの拡張
デプロイメントを拡張するには、kubectlscale コマンドを使用できます。たとえば、nginx デプロイメントのレプリカの数を 5 に拡張するには、次のコマンドを実行できます。
kubectl scale deployment nginx --replicas=5
3.5 管理ステータス
デプロイメントのステータスを表示するには、kubectl指示。たとえば、すべてのデプロイメントとそのステータスを表示するには、次のコマンドを実行できます。
kubectl get deployments
このコマンドは、クラスター内のすべてのデプロイメントの名前、必要な数量、使用可能な数量、およびステータスを出力します。
概要
この記事では、Linux システムに Kubernetes をインストールして構成し、コンテナ オーケストレーションに Kubernetes を使用する方法を学びました。これらのスキルは、クラウド ネイティブの世界に参入したい開発者やシステム管理者にとって必須です。
以上がLinux システムで Kubernetes コンテナ オーケストレーションを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。