ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

Kubernetesの紹介

編集済み 1 日前 によって ExtremeHow 編集チーム

クバネティスコンテナデブオプスクラスターオーケストレーションアプリケーション管理スケーラビリティ設定デプロイメントサーバー管理

Kubernetesの紹介

翻訳が更新されました 1 日前

Kubernetes、しばしばK8sとも呼ばれるオープンソースプラットフォームで、アプリケーションコンテナのデプロイ、スケーリング、運用を自動化するために設計されています。分散システムを柔軟に実行するためのフレームワークを提供します。Kubernetesは、クラスター上の利用可能なリソースに基づいてアプリケーションが実行する作業を管理し、負荷を最適に分散し、障害復旧を管理します。

前提条件

LinuxにKubernetesをインストールする前に、以下の前提条件を満たしていることを確認してください:

Dockerのセットアップ

DockerはKubernetesがコンテナを管理するために使用するランタイムです。Kubernetesが機能するための基盤を形成します。LinuxシステムにDockerをインストールする手順は以下の通りです:

  1. 最初に、パッケージリストを更新します:
  2. sudo apt-get update
  3. Dockerのために必要な前提パッケージをインストールします:
  4. sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  5. Dockerパッケージの安全性を確保するため、DockerのGPGキーを追加します:
  6. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  7. Dockerリポジトリをソースリストに追加します:
  8. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(lsb_release -cs) stable"
  9. パッケージデータベースを再度更新し、Dockerをインストールします:
  10. sudo apt-get update sudo apt-get install docker-ce
  11. Dockerが実行されていることを確認します:
  12. sudo systemctl start docker sudo systemctl enable docker

Dockerのインストールを確認するため、バージョンをチェックします:

docker --version

Kubernetesコンポーネントのインストール

ステップ1: Kubernetesリポジトリの追加

Kubernetesをインストールするには、その公式リポジトリをパッケージマネージャに追加する必要があります:

  1. Google Cloudの公開GPGキーをインポートします:
  2. curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
  3. Kubernetesリポジトリをソースリストに追加します:
  4. echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

ステップ2: kubelet、kubeadm、kubectlのインストール

Kubernetesの3つの基本コンポーネントはkubeletkubeadmkubectlです。それらのインストール方法は次の通りです:

  1. パッケージリストを更新します:
  2. sudo apt-get update
  3. コンポーネントをインストールします:
  4. sudo apt-get install -y kubelet kubeadm kubectl
  5. パッケージが自動更新されないようにバージョンを固定します:
  6. sudo apt-mark hold kubelet kubeadm kubectl

Kubernetesの構成

Kubernetesがインストールされたら、適切にシステムを構成する時です:

ステップ3: スワップメモリの無効化

Kubernetesはスワップメモリが有効な場合に動作しません。次のコマンドを使用してスワップを無効にします:

sudo swapoff -a

再起動後も変更を永続化するため、/etc/fstabのスワップラインをコメントアウトします。

ステップ4: ネットワーク設定

次のネットワーク設定が正しく構成されていることを確認します:

  1. net.bridge.bridge-nf-call-iptables=1を設定してIPフォワーディングを有効にします:
  2. sudo sysctl net.bridge.bridge-nf-call-iptables=1
  3. sysctl -pを実行して設定を確認します。

ステップ5: kubeadmを用いたKubernetesの初期化

kubeadmを使用して、Kubernetesクラスターの制御プレーンであるマスターノードをセットアップします:

  1. 環境を初期化するにはkubeadm initを実行します:
  2. sudo kubeadm init
  3. kubectlの構成をセットアップするための出力指示に従います。通常、以下が含まれます:
  4. mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
  5. rootを使用する場合、$HOME/root/home/<your-username>に置き換えてください。

ステップ6: Podネットワークのセットアップ

Pod間の通信を可能にするため、Podネットワークプラグインをインストールします。Flannelを使用する例は以下の通りです:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

ノードのステータスを確認します:

kubectl get nodes

Kubernetesクラスターの管理

ステップ7: アプリケーションのデプロイ

最初のアプリケーションのデプロイは簡単です。シンプルなnginxサーバをデプロイしてみましょう:

kubectl run nginx --image=nginx --port=80

クラスター外からアクセス可能なサービスとしてデプロイメントを公開するには:

kubectl expose deployment nginx --type=NodePort

デプロイメントとサービスの詳細を取得します:

kubectl get deployments kubectl get services

サービスのNodePortがnginxサーバにアクセスするためのポートを提供します。サーバのIPアドレスと指定されたポートを使用してアクセスできます。

アプリケーションのスケーリング

Kubernetesの大きな利点の一つは、アプリケーションを簡単にスケーリングできることです。nginxサーバがより多くの負荷を処理する必要がある場合、以下を実行します:

kubectl scale deployment nginx --replicas=3

ステータスを確認します:

kubectl get pods -o wide

クリーニング

Kubernetesの機能を試した後、デモ環境をクリーンアップしたい場合があります:

kubectl delete service nginx kubectl delete deployment nginx

まとめ

このガイドを使用して、Linux上でKubernetesをインストールして使用する手順を学習しました。このセットアップにより、Kubernetesの基本的な理解を得ることができ、kubeadm、kubeletなどの重要なコンポーネントに焦点を当てて、シンプルなアプリケーションをデプロイおよび管理することができます。ここから、より高度なKubernetesの概念、構成、管理技術を探求して、インフラストラクチャにおけるKubernetesのパワーを最大限に活用することができます。

記事の内容に誤りがある場合, あなたは


コメント