Kubernetes · 1 min read · Nov 03, 2025
AWS EC2インスタンス上にUbuntuを使用してkubeadmでKubernetesクラスターをセットアップする

この記事では、Ubuntu 18.04 LTSサーバー上に2つのワーカーノードと1つのマスターノードを持つKubernetesクラスターをセットアップする方法を見ていきます。クラスターのセットアップには「kubeadm」ツールを使用します。Kubeadmは、Kubernetesクラスターを作成するための「kubeadm init」および「kubeadm join」を提供するために構築されたツールです。クラスターの作成に進む前に、いくつかの用語を簡単に理解しましょう。
- Docker:
Dockerは、アプリケーションの開発、配送、実行のためのオープンプラットフォームです。Dockerを使用すると、アプリケーションをインフラストラクチャから分離できるため、ソフトウェアを迅速に提供できます。Dockerを使用すると、アプリケーションを管理するのと同じ方法でインフラストラクチャを管理できます。 - イメージ:
イメージは、Dockerコンテナを作成するための指示を含む読み取り専用のテンプレートです。通常、イメージは別のイメージに基づいており、いくつかの追加のカスタマイズが施されています。 - コンテナ:
コンテナは、イメージの実行可能なインスタンスです。Docker APIまたはCLIを使用して、コンテナを作成、開始、停止、移動、または削除できます。コンテナを1つ以上のネットワークに接続したり、ストレージをアタッチしたり、現在の状態に基づいて新しいイメージを作成したりできます。 - Kubernetes:
Kubernetesは、アプリケーションのデプロイ、スケーリング、および管理を自動化するためのオープンソースのコンテナオーケストレーションシステムです。 - ノード:
ノードは、クラスター内の単一のマシンを表します。 - ポッド:
ポッドは、同じホスト上に一緒にデプロイされるコンテナのグループです。これはKubernetesアプリケーションの基本的な実行単位です。 - デプロイメント:
デプロイメントは、アプリケーションの複数のレプリカを実行し、失敗したり応答しなくなったインスタンスを自動的に置き換えます。ポッドとレプリカセットの宣言的な更新を提供します。 - レプリカセット:
レプリカセットは、ポッドのいくつのレプリカが実行されるべきかを保証します。これは、レプリケーションコントローラーの代替と見なすことができます。
- レプリケーションコントローラー:
これは、長時間実行されるポッドのスーパーバイザーです。指定された数のポッド(レプリカと呼ばれる)を起動し、それらが常に実行され続けることを確認します。
- サービス:
サービスは、ポッドの論理的なセットとそれにアクセスするためのポリシーを定義する抽象化です。
APIサーバー、etcd、コントローラーマネージャー、スケジューラーはマスターのコンポーネントであり、Docker、Kubeletサービス、Kubernetesプロキシサービスはワーカーノードのコンポーネントです。これらのコンポーネントについては、この文書では説明しません。これらのコンポーネントについて知りたい場合は、こちらのKubernetesの公式ページを訪問してください。
前提条件
- 最低2GBのRAMと2つのCPUを持つ3つのUbuntu 18.04サーバー。
- 各サーバーで「sudo」アクセスを持つシステムユーザー。
何をするか
- kubeadmを使用してKubernetesクラスターをセットアップする
kubeadmを使用してKubernetesクラスターをセットアップする
ここでは、3つのUbuntu 18.04 LTSサーバーがあります。
サーバー1= node1
サーバー2= node2
サーバー3= master
実際のインストールに進む前に、サーバーのホスト名を変更しましょう。
各サーバーでホスト名を設定するために、以下のコマンドを使用できます。各サーバーで以下のコマンドを実行した後、サーバーに再ログインして新しいホスト名を取得します。
sudo hostnamectl set-hostname "master"
sudo hostnamectl set-hostname "node1"
sudo hostnamectl set-hostname "node2"以下の手順に従って、動作するKubernetesクラスターを立ち上げます。
Dockerのgpgキーを取得する (すべてのノードで以下のコマンドを実行) :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -Dockerリポジトリを追加する (すべてのノードで以下のコマンドを実行):
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Kubernetesのgpgキーを取得する (すべてのノードで以下のコマンドを実行):
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -Kubernetesリポジトリを追加する (すべてのノードで以下のコマンドを実行):
cat << EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
パッケージを更新する (すべてのノードで以下のコマンドを実行):
sudo apt-get updateDocker、kubelet、kubeadm、およびkubectlをインストールする (すべてのノードで以下のコマンドを実行):
sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu kubelet=1.15.7-00 kubeadm=1.15.7-00 kubectl=1.15.7-00
*現在のバージョンで保持する (すべてのノードで以下のコマンドを実行)*:
sudo apt-mark hold docker-ce kubelet kubeadm kubectliptablesルールをsysctl.confに追加する (すべてのノードで以下のコマンドを実行):
echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.confiptablesを即座に有効にする (すべてのノードで以下のコマンドを実行):
sudo sysctl -p
マスターで:
クラスターを初期化する (マスターノードでのみ以下のコマンドを実行):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
ローカルkubeconfigを設定する (マスターノードでのみ以下のコマンドを実行):
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Flannel CNIネットワークオーバーレイを適用する (マスターノードでのみ以下のコマンドを実行):
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlNode1およびNode2で:
ワーカーノードをクラスターに参加させる (Node1およびNode2でのみ以下のコマンドを実行):
sudo kubeadm join 172.31.4.161:6443 --token 0y52t6.ffsj8jkjfcl1sq8h \
--discovery-token-ca-cert-hash sha256:7aa1825042d19d3e567f7e4b447634e942fe9ed7f18f78464a9c05f451551ed5
ワーカーノードがクラスターに正常に参加したことを確認する (マスターノードで以下のコマンドを実行):
kubectl get nodes結論:
この記事では、kubeadmツールを使用してKubernetesクラスターをセットアップする方法を学びました。手順を見逃さず、適切にインストールを行えば、クラスターを簡単に作成できることがわかりました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。