GNU/Linux >> Linux の 問題 >  >> Linux

Manjaro/ArchlinuxでMinikubeを介してKubernetesをローカルで学習する

Minikubeは、ローカルコンピュータシステムでKubernetesを実行できるようにするツールです。 Minikubeは、使用するvm-driverに応じて、VM内にシングルノードのKubernetesクラスターを作成します。 Minikubeは、テスト、開発、トレーニングなど、Kubernetesについて学ぶのに適しています。

このチュートリアルでは、Manjaro / ArchLinuxでMinikubeを使用して、シングルノードのKubernetesクラスタをローカルで作成する方法を段階的に説明します。このガイドでは、KVM2ドライバーを使用してKubernetesクラスターをローカルに実装し、Nginxサービスのデプロイの例について説明します。

私たちが行うこと:

  1. パッケージの依存関係をインストールする
  2. DockerマシンとKVM2ドライバーをインストールします
  3. MinikubeとKubectlをインストールします
  4. Minikubeを使用したKubernetesの初期化
  5. 展開のテスト
  6. Kubernetesダッシュボードにアクセスする
ステップ1-パッケージの依存関係をインストールする

最初に行うステップは、qemuKVMとdnsmasqを含むすべてのパッケージの依存関係をインストールすることです。

以下のpacmanコマンドを使用してqemuとdnsmasqをインストールします。

sudo pacman -Sy libvirt qemu ebtables dnsmasq

インストールが完了したら、ユーザーを「libvirt」グループに追加してリロードします。

sudo usermod -a -G libvirt $(whoami)
newgrp libvirt

次に、libvirtdおよびvirtlogdサービスを開始し、それらのサービスを起動時間に追加します。

sudo systemctl start libvirtd.service
sudo systemctl enable libvirtd.service

sudo systemctl start virtlogd.service
sudo systemctl enable virtlogd.service

qemuKVMパッケージと依存関係がシステムにインストールされています。

ステップ2-Docker-MachineとKVM2ドライバーをインストールします

Minikubeはdocker-machineを使用してKubernetesVMを管理しているため、「docker-machine-driver-kvm2」をインストールする必要があります。

以下のpacmanコマンドを使用してDockerマシンをインストールします。

sudo pacman -Sy docker-machine

次に、yaourtコマンドを使用してAURリポジトリから「docker-machine-driver-kvm2」をインストールします。

yaourt -Sy docker-machine-driver-kvm2

インストールを待ちます。

ステップ3-MinikubeとKubectlをインストールします

このガイドでは、AURリポジトリからMinikubeとkubectlをインストールします。

以下のyaourtコマンドを実行します。

yaourt -Sy minikube-bin kubectl-bin

インストールが完了したら、Minikubeのバージョンとkubectlコマンドを確認します。

minikube version
whereis kubectl
kubectl -h

ステップ4-Minikubeを使用したKubernetesの初期化

以下のMinikubeコマンドを使用して、シングルノードのKubernetesクラスタを初期化します。

minikube start --vm-driver kvm2

このコマンドは、Minikube ISOファイルをダウンロードし、システム上にKVM仮想マシンを作成します。

完了すると、次のような結果が得られます。

KubernetesはMinikubeを使用してローカルコンピューターにインストールされています。以下のすべてのコマンドを実行して確認してください。

minikube status
kubectl cluster-info
kubectl get nodes

これで、以下の結果が表示されます。

Kubernetesクラスターは、IPアドレス「192.168.39.78」のローカルコンピューターで稼働しており、Kubernetes v1.10を使用し、クラスターのマスターとしてminikubeという名前の単一ノードを使用しています。

ステップ5-デプロイメントのテスト

このステップでは、Nginxウェブサーバーの新しいデプロイを作成して、kubernetesをテストします。

'project / nginx /'という名前の新しいディレクトリを作成し、そこに移動します。

mkdir -p projects/nginx/
cd projects/nginx/

次に、デプロイ構成用の新しいyamlファイルを作成します。

vim nginx-deployment-service.yaml

そして、以下の構成を貼り付けます。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
  labels:
    run: nginx-service
spec:
  type: NodePort
  ports:
  - port: 80
    protocol: TCP
  selector:
    app: nginx

保存して終了します。

次に、以下のkubectlコマンドを実行してデプロイメントを作成します。

kubectl create -f nginx-deployment.yaml

完了したら、Kubernetesのデプロイを確認します。

kubectl get deployments
kubectl describe deployments nginx-deployment

そして、リストに「nginx-deployment」が表示されます。

次に、Kubernetesサービスを確認します。

kubectl get services
kubectl describe services nginx-service

そして、NodePortの「nginx-service」がポート「32274」で実行されていることがわかります。

KubernetesクラスタIPを確認し、curlコマンドを使用してアクセスします。

minikube ip
curl -I http://192.168.39.49:32274/

そして、NginxWebサーバーから応答を受け取ります。

以下は、Webブラウザからアクセスした場合の結果です。

http://192.168.39.49:32274/

ステップ6-Kubernetesダッシュボードにアクセスする

Minikubeは、Minikubeクラスター内で実行されているKubernetesダッシュボードにアクセスするためのコマンドを提供します。

以下のコマンドを実行します。

minikube dashboard

このコマンドは、システムのデフォルトのウェブブラウザを使用してKubernetesダッシュボードを開きます。

以下はKubernetesダッシュボードです。

Minikubeを使用したローカルコンピューターManjaro/ArchlinuxへのKubenrnetesのインストールが正常に完了しました。


Linux
  1. awkを学ぶための実用的なガイド

  2. Ubuntu20.04にMinikubeを使用してKubernetesをインストールする方法

  3. Sip経由でFAXを送信しますか?

  1. Manjaro20.2にGnomeDEをインストールします

  2. TerraformKubernetesプロバイダーの使用方法

  3. Kubernetesでサービスを削除する方法

  1. systemdを愛することを学ぶ

  2. KubernetesにJenkinsをインストールする方法

  3. Kubernetesポッドを再起動する方法