このチュートリアルでは、Ubuntu 20.04 LTSにKubernetesをインストールする方法を紹介します。知らない人のために、Kubernetesは無料のオープンソースコンテナ管理システムです。ホストコンピューターのクラスター全体でのアプリケーションコンテナーのデプロイの自動化、スケーリング、操作のためのプラットフォーム。Kubernetesを使用すると、ハイブリッド、オンプレミス、パブリッククラウドインフラストラクチャを自由に利用して、組織のデプロイタスクを実行できます。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudo
を追加する必要があります。 ‘ルート権限を取得するコマンドに。 Ubuntu 20.04(Focal Fossa)サーバーへのKubernetesのインストールを段階的に説明します。 Ubuntu 18.04、16.04、およびLinuxMintなどの他のDebianベースのディストリビューションでも同じ手順に従うことができます。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:Ubuntu 20.04、18.04、およびLinuxMintなどの他のDebianベースのディストリビューション。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします
non-root sudo user
またはroot user
へのアクセス 。non-root sudo user
として行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があります。
Ubuntu 20.04 LTSFocalFossaにKubernetesをインストールする
手順1.まず、次のapt
を実行して、すべてのシステムパッケージが最新であることを確認します。 ターミナルのコマンド。
sudo apt update sudo apt upgrade sudo apt install apt-transport-https curl
ステップ2.Dockerをインストールします。
コマンドに従って、Ubuntu20.04にDockerCEをインストールします:
sudo apt install docker.io
Dockerをインストールしたら、再起動後に起動できるようになっていることを確認してください:
sudo systemctl enable docker sudo systemctl start docker
Dockerのインストールを確認できます:
docker --version
ステップ3.Ubuntu20.04にKubernetesをインストールします。
ここで、Kubernetes署名キーを追加します:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
次に、Kubernetesパッケージリポジトリを追加します:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
その後、次のコマンドを実行してKubernetesをインストールします。
sudo apt install kubeadm kubelet kubectl kubernetes-cni
手順4.スワップメモリを無効にします。
Kubernetesを実行するには、スワップを無効にする必要があります:
sudo swapoff -a
スワップを完全に無効にするには、/etc/fstab
のスワップ行をコメントアウトまたは削除します ファイル:
sudo nano /etc/fstab
... # # / was on /dev/sda2 during curtin installation /dev/disk/by-uuid/f3d575c6-e46go-4472-b406-30dmeilana965a / ext4 defaults 0 0 #/swap.img none swap sw 0 0
手順5.ホスト名を設定します。
各ノードにホスト名を指定します。このシナリオでは、ホスト名master-nodeとmaster-nodeを使用して、ホストを簡単に区別し、それらの役割を識別します。
sudo hostnamectl set-hostname master-node sudo hostnamectl set-hostname slave-node
手順6.Kubernetesマスターサーバーを初期化します。
まず、マスターノードで次のコマンドを入力します。
sudo kubeadm init
次に、マスターノードで次の3つのコマンドを実行します。
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
ステップ7.ポッドネットワークを展開します。
次のステップは、ポッドネットワークを展開することです。マスターノードで次の2つのコマンドを実行します。
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml
kubectl
を使用できます すべての準備が整っていることを確認するコマンド:
kubectl get pods --all-namespaces
ステップ8.Kubernetesクラスターに参加します。
これで、クラスターでワーカーノードを参加させる準備が整いました。kubeadm join
を使用してください Kubernetesクラスターに参加するためにKubernetesマスターノード初期化出力から以前に取得したコマンド:
sudo kubeadm join 192.168.77.21:6443 --token 1exb8s.2t4k3bramnoamo --discovery-token-ca-cert-hash sha256:72gama4918cf2cute19356c9a402fb609263adad48c13797d0cba2341
次のコマンドを使用して、マスターノードがKubernetesクラスターの一部になったことを確認します。
kubectl get nodes
ステップ9.Kubernetesクラスターにサービスをデプロイします。
これらの手順で、Kubernetesクラスターにサービスをデプロイする準備が整いました。マスターノードで次の2つのコマンドを実行します。
kubectl run --image=nginx nginx-server --port=80 --env="YOUR-DOMAIN=cluster" kubectl expose deployment nginx-server --port=80 --name=nginx-http>
これで、ワーカーノードにデプロイされた新しいNginxdockerコンテナーが表示されます。
sudo docker ps
最後に、Kubernetesマスターノードから発行された次のコマンドを使用して、クラスターで実行されているすべての利用可能なサービスの実行リストを確認できます。
kubectl get svc
おめでとうございます。Kubernetesが正常にインストールされました。Ubuntu20.04LTS Focal FossaシステムにKubernetesをインストールするためにこのチュートリアルを使用していただき、ありがとうございます。追加のヘルプや役立つ情報については、Kubernetesの公式ウェブサイトを確認することをお勧めします。 。