LoginSignup
0
1

More than 1 year has passed since last update.

Linux環境でのmicrok8sクラスタの作成方法

Posted at

microk8sとは

小規模なKubernetes環境を作成するために作られたパッケージ.

特徴

・Linuxのシステムであれば簡単にインストールできる
・細かな調整が不要でインストール後,すぐにKubernetes環境として利用できる
・Kubernetesとともに利用することが多いレジストリやストレージなどのツールが無いようされていて,簡単に有効化できる
・コンテナランタイムとしてcontainerd,runcをランタイムとして採用し,内包している
・動作にDockerが不要
・コマンドは「microk8s kubectl」のような名称でインストールされるが,kuectlなどの名称で使えるように別名(alias)が設定できる

マシン環境

Master(マスター)

VM名:microk8s-master
OS:Linux
vCPU:4
メモリ:32GB
ハードディスク:45GB

worker(ワーカー)

VM名:microk8s-worker-1
VM名:microk8s-worker-2

OS:Linux
vCPU:4
メモリ:32GB
ハードディスク:40GB

Master側での構築

(1)ユーザーをmicrok8sグループに追加

nogisora@microk8s-master:~$ sudo usermod -a -G microk8s nogisora

(2)kube配下のキャッシュディレクトリにアクセスできるように権限を変更

nogisora@microk8s-master:~$ sudo chown -f -R nogisora ~/.kube

(3)kubernetesが使えるかの確認

nogisora@microk8s-master:~$ sudo microk8s kubectl get nodes
NAME              STATUS   ROLES    AGE    VERSION
microk8s-master   Ready    <none>   118m   v1.21.1-3+ba118484dd39df

※ワーカーノードのmicrok8s-Worker-1,microk8s-Worker-2でも上記を行う

(4)microk8s-master(マスターノード)を二つのワーカーノードに追加するためのコマンドを取得

nogisora@microk8s-master:~$ sudo microk8s add-node
From the node you wish to join to this cluster, run the following:
microk8s join 192.168.100.91:25000/e368a4d280b3b137b45ac03da4c31c54/5d41a4490d69 →ここの部分をコピー

If the node you are adding is not reachable through the default interface you can use one of the following:
 microk8s join 192.168.100.91:25000/e368a4d280b3b137b45ac03da4c31c54/5d41a4490d69

Worker側での構築

(1)マスター側で行った(1)~(3)の作業を行う
※省略

(2)microk8s-worker-1,microk8s-worker-2にマスターを追加

nogisora@microk8s-worker-1:~$ microk8s join 192.168.100.91:25000/e368a4d280b3b137b45ac03da4c31c54/5d41a4490d69
Contacting cluster at 192.168.100.91
Waiting for this node to finish joining the cluster.
nogisora@microk8s-worker-2:~$ microk8s join 192.168.100.91:25000/e368a4d280b3b137b45ac03da4c31c54/5d41a4490d69
Contacting cluster at 192.168.100.91
Waiting for this node to finish joining the cluster.

(3)クラスター完成!

nogisora@microk8s-master:~$ sudo microk8s kubectl get nodes
NAME                STATUS   ROLES    AGE    VERSION
microk8s-worker-2   Ready    <none>   9m8s   v1.21.1-3+ba118484dd39df
microk8s-master     Ready    <none>   147m   v1.21.1-3+ba118484dd39df
microk8s-worker-1   Ready    <none>   10m    v1.21.1-3+ba118484dd39df

おまけ

microk8s kubectlだと長いのでaliasを使って短縮させる

nogisora@microk8s-master:~$ ls -a
.  ..  .bash_history  .bash_logout  .bashrc  .cache  .gnupg  .kube  .profile  snap  .sudo_as_admin_successful  .viminfo
nogisora@microk8s-master:~$ vim .bashrc

.bashrcの一番下に以下のコードを書く

.bashrc
alias kubectl='microk8s kubectl '
alias k='microk8s kubectl'

・確認

nogisora@microk8s-master:~$ kubectl get svc
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   172m
nogisora@microk8s-master:~$ k get svc
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   172m

まとめ

今回はLinux環境をmicrok8sクラスタを作成した
kubernetes環境がとても簡単に使えるようになるのでぜひ試してほしいと思います

参考文献

この記事は以下の情報を参考にして執筆しました。
Microk8sとは(OSSのデージ-ネット)

microk8sを使ってkubernetesクラスタを構築してみる + metallbアドオンお試し

Clustering with MicroK8s

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1