Kubernetes は、コンテナー化されたアプリケーションを自動的にデプロイ、スケーリング、および管理できる無料のオープンソース プラットフォームです。 Docker、containerd、CRI-O、および Kubernetes CRI (Container Runtime Interface) の実装など、さまざまなコンテナー ランタイムをサポートしています。 Kubernetes は、デプロイ、ロールアウト、サービス ディスカバリ、ストレージ プロビジョニング、負荷分散、自動スケーリングなど、いくつかのコンテナ関連のタスクを自動化します。
この投稿では、Arch Linux に Kubernetes をインストールする方法を紹介します。
前提条件
- Your self Cloud Platform 上の最新の Arch Linux サーバー
- サーバーで設定された root パスワード
- Cloud Server には少なくとも 2 つの vCPU と 2GB の RAM が必要です
ステップ 1 – 自分のクラウド サーバーを作成する
まず、あなたのあなた自身のクラウドサーバー. 少なくとも 2GB の RAM を搭載したオペレーティング システムとして Arch Linux を選択して、新しいサーバーを作成します。 SSH 経由でクラウド サーバーに接続し、ページの上部で強調表示されている資格情報を使用してログインします。
ステップ 2 – リポジトリの構成
デフォルトでは、Arch Linux のデフォルト リポジトリは古いため、デフォルトのミラー リストを変更する必要があります。 mirrorlist 構成ファイルを編集することで、これを行うことができます。
nano /etc/pacman.d/mirrorlist
すべての行を削除し、次の行を追加します。
## Score: 0.7, United States Server = https://mirror.us.leaseweb.net/archlinux/$repo/os/$arch ## Score: 0.8, United States Server = https://lug.mtu.edu/archlinux/$repo/os/$arch Server = https://mirror.nl.leaseweb.net/archlinux/$repo/os/$arch ## Score: 0.9, United Kingdom Server = https://mirror.bytemark.co.uk/archlinux/$repo/os/$arch ## Score: 1.5, United Kingdom Server = https://mirrors.manchester.m247.com/arch-linux/$repo/os/$arch Server = https://archlinux.dcc.fc.up.pt/$repo/os/$arch ## Score: 6.6, United States Server = https://mirror.cs.pitt.edu/archlinux/$repo/os/$arch ## Score: 6.7, United States Server = https://mirrors.acm.wpi.edu/archlinux/$repo/os/$arch ## Score: 6.8, United States Server = https://ftp.osuosl.org/pub/archlinux/$repo/os/$arch ## Score: 7.1, India Server = https://mirror.cse.iitk.ac.in/archlinux/$repo/os/$arch ## Score: 10.1, United States Server = https://mirrors.xmission.com/archlinux/$repo/os/$arch
ファイルを保存して閉じ、次のコマンドですべてのパッケージ インデックスを更新します。
pacman -Syu
ステップ 3 – Docker エンジンをインストールする
Kubernetes では、Docker Engine をサーバーにインストールする必要があります。 インストールされていない場合は、次のコマンドでインストールできます。
pacman -S docker
Docker をインストールしたら、次のコマンドを使用して Docker サービスを有効にします。
systemctl enable docker
次に、システムを再起動して変更を適用します。
reboot
ステップ 4 – Minikube をインストールする
Minikube は、ローカル開発用の Kubernetes クラスターをデプロイする簡単な方法を提供します。 デフォルトでは、Minikube パッケージは Arch Linux のデフォルト リポジトリで利用できます。 次のコマンドでインストールできます。
pacman -S minikube
インストールが成功したら、次のコマンドで Minikube を起動します。
minikube start --force
このコマンドは、サーバー上にローカルの Kubernetes クラスターをセットアップします。
😄 minikube v1.28.0 on Arch (kvm/amd64) ❗ minikube skips various validations when --force is supplied; this may lead to unexpected behavior ✨ Automatically selected the docker driver. Other choices: ssh, none 🛑 The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force. 💡 If you are running minikube within a VM, consider using --driver=none: 📘 https://minikube.sigs.k8s.io/docs/reference/drivers/none/ 📌 Using Docker driver with root privileges 👍 Starting control plane node minikube in cluster minikube 🚜 Pulling base image ... 💾 Downloading Kubernetes v1.25.3 preload ... > preloaded-images-k8s-v18-v1...: 385.44 MiB / 385.44 MiB 100.00% 40.76 M > gcr.io/k8s-minikube/kicbase: 386.27 MiB / 386.27 MiB 100.00% 26.76 MiB > gcr.io/k8s-minikube/kicbase: 0 B [________________________] ?% ? p/s 10s 🔥 Creating docker container (CPUs=2, Memory=2200MB) ... 🐳 Preparing Kubernetes v1.25.3 on Docker 20.10.20 ... ▪ Generating certificates and keys ... ▪ Booting up control plane ... ▪ Configuring RBAC rules ... 🔎 Verifying Kubernetes components... ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5 🌟 Enabled addons: default-storageclass, storage-provisioner 💡 kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A' 🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
ステップ 5 – Kubernetes クラスターを確認する
次のコマンドを使用して、Kubernetes クラスターを確認できるようになりました。
minikube kubectl -- get pods -A
次の出力が得られるはずです。
> kubectl.sha256: 64 B / 64 B [-------------------------] 100.00% ? p/s 0s > kubectl: 42.93 MiB / 42.93 MiB [------------] 100.00% 45.96 MiB p/s 1.1s NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-565d847f94-2dq5q 1/1 Running 0 54s kube-system etcd-minikube 1/1 Running 0 66s kube-system kube-apiserver-minikube 1/1 Running 0 67s kube-system kube-controller-manager-minikube 1/1 Running 0 66s kube-system kube-proxy-g7w2q 1/1 Running 0 54s kube-system kube-scheduler-minikube 1/1 Running 0 67s kube-system storage-provisioner 1/1 Running 1 (23s ago) 65s
ノードに関する情報を取得するには、次のコマンドを使用します。
minikube kubectl -- get nodes -A
次の出力が得られます。
NAME STATUS ROLES AGE VERSION minikube Ready control-plane 109s v1.25.3
ステップ 6 – Minikube ダッシュボードにアクセスする
デフォルトでは、Minikube ダッシュボードは無効になっているため、最初に有効にする必要があります。
次のコマンドを実行して、Minikube ダッシュボードを有効にします。
minikube dashboard
次のコマンドで Minikube URL を取得できるようになりました。
minikube dashboard --url
次の出力に Minikube URL が表示されます。
🤔 Verifying dashboard health ... 🚀 Launching proxy ... 🤔 Verifying proxy health ... https://127.0.0.1:38999/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
Minikube ダッシュボードが有効になり、ポートでリッスンするようになりました38999ローカルホストで。 Minikube ダッシュボードには、ローカルホストからのみアクセスできます。 リモート システムから Minikube ダッシュボードにアクセスするには、SSH ポート転送方式を使用する必要があります。
Linux デスクトップ システムにログインし、次のコマンドを使用して SSH ポートを転送します。
ssh -L 38999:127.0.0.1:38999 -fN [email protected]
SSH ポート フォワーディングを有効にするために、サーバーのルート パスワードを入力するよう求められます。
Web ブラウザーを開いて、URL を使用して Minikube ダッシュボードにアクセスできるようになりました。https://127.0.0.1:38999/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/.次の画面に Minikube ダッシュボードが表示されます。
結論
このチュートリアルでは、Arch Linux 8 に Minikube を使用して Kubernetes クラスターをインストールする方法を説明しました。これで、このチュートリアルに従って、ローカル開発用の Kubernetes クラスターをデプロイできます。 また、あなた自身から専用サーバー ホスティングに Kubernetes をデプロイすることもできます。