Kubernetesはk8とも呼ばれます は、Dockerコンテナの管理に使用される無料のオープンソースツールです。これは、コンテナ化されたアプリケーションの導入、スケーリング、管理を自動化するように調整されたコンテナオーケストレーションプラットフォームです。このガイドでは、Ubuntu18.04LTSにKubernetesをインストールして設定する方法を学習します。
前提条件
始める前に、以下に示すように、3つのUbuntu18.04ノードで構成されるテストラボを用意します
- KubernetesマスターノードのIPアドレス:172.31.4.36ホスト名:k8-master
- Kubernetesスレーブノード1のIPアドレス:172.31.4.170ホスト名:k8-slave
- Kubernetesスレーブノード2のIPアドレス:172.31.10.30ホスト名:k8-slave2
さらに、システムに次の最小要件があることを確認してください。
- 2 CPU
- 4 GB RAM
- 8GBのハードディスク空き容量
さあ、飛び込んで始めましょう。
ステップ1.ホスト名の設定とhostsファイルの更新
まず、SSH経由でマスターノードにログインし、図のようにホスト名を設定します
$ sudo hostnamectl set-hostname "k8-master"
スレーブノードで次のコマンドを実行します
$ sudo hostnamectl set-hostname k8-slave $ sudo hostnamectl set-hostname k8-slave2
お気に入りのテキストエディタを使用して、 / etc / hosts
で次の変更を行います 3つのノード(それぞれk8-master、k8-slave、k9-slave2)のファイル。
172.31.4.36 k8s-master172.31.4.170 k8-slave172.31.10.30 k8-slave2
ステップ2.マスターノードとスレーブノードへのDockerのインストール
Dockerをマスターノードにインストールするには、まず、以下のコマンドを使用してシステムを更新およびアップグレードします
$ sudo apt-get update &&sudo apt-get upgrade
次に、次のコマンドを使用して、マスターノードとスレーブノードの両方にDockerをインストールします
$ sudo apt-get install docker.io -y
出力
Dockerが正常にインストールされたら、以下のコマンドを使用して、マスターノードとスレーブノードの両方でDockerサービスを開始して有効にします。
$ sudo systemctl start docker $ sudo systemctl enable docker
出力
Dockerが実行されていることを確認するには、マスターノードとスレーブノードでコマンドを発行します
$ sudo systemctl status docker
出力
インストールしたDockerのバージョンを表示するには、以下を実行します
$ docker --version
出力
ステップ3.マスターノードとスレーブノードでのKubernetesリポジトリの設定
次のステップに進む前に、いくつかの便利なパッケージをインストールする必要があります。すべてのノードで次のコマンドを実行します
$ sudo apt-get install apt-transport-https curl -y
出力
次に、以下のコマンドを実行して、Kubernetesパッケージリポジトリキーを追加します
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
出力
次に、以下のコマンドを使用してKubernetesリポジトリを追加します。
$ sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
出力
注:
Ubuntu18.04LTSのKubernetesパッケージリポジトリは利用できません。それでも、XenialKubernetesパッケージリポジトリを使用しました。
ステップ4.スワップを無効にしてkubeadmをインストールする
kubeadmをインストールします クラスターに複数のノードをデプロイできるようにするパッケージ。
ただし、その前に、KubernetesOfficalサイトでOSスワップ機能を無効にすることをお勧めします。これを実行するには、次のコマンドを実行します。
$ sudo swapoff -a
これで、 kubeadmをインストールできます 次のようにパッケージ化します。
$ sudo apt-get install kubeadm -y
出力
kubeadmのインストールが成功すると パッケージの場合、以下のコマンドを使用してバージョンを確認してください
$kubeadmバージョン
出力
ステップ5.Kubeadmを使用してKubernetesクラスターを起動する
マスターノードで、ログインし、図のようにkubeadmを使用してkubernetesを初期化します。
$ sudo kubeadm init --pod-network-cidr =172.31.4.0/ 20
サンプル出力
上記の出力は、Kubernetesマスターノードが正常に開始されたことを確認するものです。クラスターを開始するには、緑色のハイライトで囲まれたコマンドを次々に実行します
$ mkdir -p $ HOME / .kube $ sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config $ sudo chown $(id -u):$(id -g )$ HOME / .kube / config
次に、以下のコマンドを実行して、マスターノードのステータスを確認します。
$kubectlgetノード
この時点で、ポッドがまだデプロイされていないため、マスターノードの準備ができていないというプロンプトが表示されます。次のステップでは、クラスターノードが相互に通信できるネットワークであるポッドネットワークを展開します。これを実現するために、ポッドネットワークとしてFlannelを展開します。 Flannelは、クラスターノード間にオーバーレイネットワークを提供します
ステップ6.ポッドネットワークとしてFlannelを展開する
ポッドネットワークを展開するには、マスターノードで次のコマンドを実行します
$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
サンプル出力
この時点で、 kubectl
を使用してマスターノードのステータスを確認できます。 コマンド
$ sudokubectlgetノード
出力
上記のように、マスターノードのステータスは「準備完了」に変更されました。さらに、示されているようにポッドの名前空間を確認します。
$ sudo kubectl get pods --all-namespaces
出力
上記の出力は、すべてのポッド名前空間が実行状態にあることを示しています。最後のステップは、スレーブノードをクラスターに参加させることです。
ステップ7.クラスターへのスレーブノードの追加
このステップでは、両方のスレーブノード(k8-slaveとk8-slave2)にログインし、ステップ5で赤で強調表示されている次のコマンドを実行します。
$ kubeadm join 172.31.4.36:6443 --token w8kbni.wiyevyov0yxwwtdj --discovery-token-ca-cert-hash sha256:29adc042c538f59f0c7339ebad2126d5836de06ffe0ae22c54ce0aef2eb4cb76
サンプル出力
次に、マスタースレーブに移動し、
kubectl
を使用してマスターノードとスレーブノードのステータスを確認します。 コマンド$kubectlgetノード
出力
上記の出力は、2つのスレーブノードがクラスターに正常に追加され、それらのステータスとマスターノードの準備ができていることを確認します。
素晴らしい! Ubuntu18.04LTSにKubernetesをインストールして設定する方法に関するチュートリアルを終了しました。フィードバックは大歓迎です。
Linux