Kubernetes Clusterを開始するには、サーバー全体またはクラウド全体が本当に必要ですか?答えは「いいえ」です ‘Minikubeを使用して、仮想マシンを作成および管理するためのローカルPC上の単一ノードでKubernetesクラスターを実装できるためです。このチュートリアル 、 MiniKubeをインストールする手順を学びます Debian 11ブルズアイデスクトップまたはサーバー 。
MiniKubeとは何ですか?
MiniKubeは、無料で使用できるオープンソースプロジェクトです。これにより、単一のクラスターノードを使用してシステム上にローカルでKubernetesをセットアップできます。これは、クラスターからノードを簡単に開始、停止、または削除するためのコマンドラインツールを提供します。ソフトウェアはローカルホスト上で単純なKubernetesクラスターを実行できるため、オンラインサーバーやクラウドは必要ありません。 KVMとは別に、Minikubeでは、VirtualBoxはデフォルトでVMランタイムとして使用されます。これは、Linux以外(WindowsやmacOSなど)でも問題なく使用できるクロスプラットフォームソリューションです。ただし、全体として、Minikubeは、標準のKubernetes、一部のロールベースのアクセス制御、LoadBalancer(minikubeトンネル)、ダッシュボード、マルチクラスターなどでも利用できるかなりの数の機能を提供します。アドオン、機械学習に参加したい場合のGPUサポート、自動エラー分析のマーケットプレイスもあります。
このMinikubeチュートリアルを実行するには何が必要ですか?
•Debian11サーバーまたはデスクトップ(新しいものを推奨)
•2つのCPU以上、2GBの空きRAM、および20GBの空きディスク容量
•sudo権限を持つユーザー
•仮想化サポートが有効になっているBIOS
•インターネット接続が機能している
Debian11Bullseyeまたは10BusterにMinikubeをインストールする手順
1。システムアップデートを実行する
デスクトップターミナルを開くか、SSHを使用してDebian 11サーバーに接続し、system update and upgradeコマンドを実行して、すべてが最新であることを確認します。
sudo apt update -y sudo apt upgrade -y
また、このチュートリアルの実行中に必要となる他のいくつかのツールをインストールします。
sudo apt install curl wget apt-transport-https -y
2。 KVMまたはVirtualBoxをセットアップする
VirtualBoxはMiniKubeのオリジナルのドライバーですが、最速のドライバーではありませんが、Windowsでの使用には適しています。したがって、Linuxでは、KVM(カーネルベースの仮想マシン)をドライバーとして使用することをお勧めします。したがって、ここでも同じことを行います。仮想マシンを作成するためにKVMをインストールするには、次のコマンドを実行します。
仮想化サポートの確認:
egrep -q 'vmx|svm' /proc/cpuinfo && echo yes || echo no
注 :出力が「はい」の場合 「その後、さらに進んで、それ以外の場合はPCを再起動し、BIOSで有効にします。
sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon
ユーザーをlibvertグループに追加します
sudo adduser -a $USER libvirt sudo adduser -a $USER libvirt-qemu
グループのリロード:
newgrp libvirt newgrp libvirt-qemu
詳細については、別のチュートリアルを参照してください Debian11BullseyeでのQEMUKVMのインストールと使用について
3。 MiniKubeをダウンロード
次に、Linux用にダウンロードできるMiniKubeバイナリをダウンロードする必要があります。コマンドラインツールcURLを使用して取得できます。
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
4。 Debian11または10にMiniKubeをインストールして起動します
システムに最新の安定したバイナリをインストールしたら、次のコマンドを使用してインストールします。
sudo install minikube-linux-amd64 /usr/local/bin/minikube
バージョンの実行を確認するには:
minikube version
5。 Kubernetesコマンドラインツールをインストールする
クラスタリソースを管理し、アプリケーションをデプロイし、Kubernetesクラスタのログを検査するには、kubectl
と呼ばれるコマンドラインツールを使用できます。 。ここでは、以下に示すいくつかのコマンドを使用してインストールします。
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
sudo mv kubectl /usr/local/bin/
kubectlのバージョンを確認するには、次のコマンドを実行します:
kubectl version -o yaml
6。 Debian11にKVMドライバーを使用してMiniKubeをデプロイする
複数のドライバーを使用してMinikubeをデプロイできますが、ここではパフォーマンスを向上させるために、この記事の冒頭でインストールしたKVMを使用します。
minikube start --vm-driver kvm2
ただし 、特定のドライバーについて言及していなくても 上記のコマンドでは、システムは自動的にKVMを選択して使用します。ただし、VirtualBoxとDockerがインストールされている場合は、Minikubeの実行に実際に使用するドライバーを指定しておくとよいでしょう。詳細については、ドライバーのドキュメントを参照してください。
インストールが完了したら、所定のコマンドを使用して詳細を確認できます。
•ステータスの場合:
minikube status
•ssh経由でMinikubeコマンドラインにアクセスする場合:
これを使用して、Dockerコンテナを簡単に作成できます。
minikube ssh
•Minikubeアドオンが現在アクティブまたは有効になっているものを確認するには、次を使用します。
minikube addons list
•クラスター情報を確認するには
kubectl cluster-info
•現在アクティブなノードを確認するには:
kubectl get nodes
•クラスターのデフォルトの構成ビューの場合
kubectl config view
•Minikubeクラスターを停止して削除するには:
minikube stop minikube delete
7。 MinikubeDashbaordを実行する
Minikubeには、このステップで指定されたコマンドを実行することで自動的に有効になるダッシュボードと呼ばれるアドオンが付属しています。したがって、コンテナアプリケーションのデプロイとクラスタの管理、リソースの概要の取得などのために、ウェブベースのKubernetesユーザーインターフェースにアクセスするために開始できます…
minikube dashboard
このKubernetes実装をインストールしたローカルシステムでは、ブラウザが開き、ダッシュボードのウェブインターフェースが自動的に提供されます。
8。外部またはリモートでKubernetesダッシュボードにアクセスする(オプション)
コマンドラインインターフェイスのみで実行されているローカルのDebian11サーバーでMinikubeを使用していて、サーバーの同じネットワークで利用可能な他のコンピューターからリモートでMiniKubeダッシュボードにアクセスしたい場合。次に、上記のコマンドを使用する代わりに、 kubectlを使用できます。 KubernetesのWebインターフェースにアクセスするためにローカル8001を開くためのプロキシ。
kubectl proxy --address='0.0.0.0' --disable-filter=true
注 :特定のIPアドレスへのWebインターフェイスアクセスを制限するには、 0.0.0.0を置き換えます 上記のコマンドでそれを使用します。そうしないと、ネットワーク内のすべてのシステムがダッシュボードにアクセスできるようになります。
上記のコマンドを実行したら、 ip-addressにアクセスできるブラウザを開きます。 Minikubeを実行しているサーバーの
http://server-ip-address:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
KubernetesとMiniKubeの詳細については、公式ドキュメントを参照してください。