※当ブログではアフィリエイト広告を利用しています
前回紹介した「k3s」ですが、あまりに手軽にインストール・環境構築できるため割と気に入っています。
まだ出たところなので本番用としては使えませんが、、、Kubernetesで使われるリソースを理解したり、kubectlのコマンドの練習にはちょうど良いと思っています。
そこで、今回はそんなk3sをいつでもすぐに使えるようにVagrantですぐにインストールするためのVagrantfileを作ったので、その紹介をしたいと思います。
k3sではなく、ちゃんとしたKubernetes(k8s)を導入したい方は、以下を参照してください。
目次
前提
以下のツールが導入されていることを確認してください。ない場合は各リンクから導入するか、こちらの手順を参考にしてk3sを導入してください。
導入
以下をコマンドラインから実行して環境を構築します。これで3台のクラスターが立ち上がります。
git clone https://github.com/k8sinfo/k3s-vagrant.git && cd k3s-vagrant && vagrant up && vagrant ssh master
初回導入時はGuest Additionsのインストールが走るので少し時間がかかるかもしれません。
インストールは以上です。お疲れさまでした。
ホストPCのリソースが少ない場合・・・
前の手順ではメモリ1GBのVMが3台立ち上がります。でも、メモリ4GBのPCだと少しきついですよね。
その場合は、以下のコマンドで導入してください。こちらは1GBのVM1台だけ入っているものになります。
git clone https://github.com/k8sinfo/k3s-vagrant.git && cd k3s-vagrant && vagrant up && vagrant ssh
動作確認
一応、動作しているか確認しておきましょう。
[vagrant@localhost ~]$ kubectl get node
NAME STATUS ROLES AGE VERSION
localhost.localdomain Ready none 36s v1.13.3-k3s.6
[vagrant@localhost ~]$ kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-7748f7f6df-c6kkc 1/1 Running 0 34s
helm-install-traefik-xfj44 0/1 Completed 0 34s
svclb-traefik-5757cdf7cf-886z5 0/2 ContainerCreating 0 2s
traefik-dcd66ffd7-4gghc 0/1 ContainerCreating 0 2s
[vagrant@localhost ~]$ kubectl get ns
NAME STATUS AGE
default Active 111s
kube-public Active 111s
kube-system Active 111s
Traefikというのが見慣れなかったので、一応調べました。
https://docs.traefik.io/
Traefik is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components (Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher, Amazon ECS, …) and configures itself automatically and dynamically. Pointing Traefik at your orchestrator should be the onlyconfiguration step you need.
「Traefikは、マイクロサービスの展開を容易にするモダンなHTTPリバースプロキシーおよびロードバランサーです」ということなので、Ingress Controllerに相当する部分を担っているようです。
公式のイメージ図がまんまIngressのそれでした。
発音は[træfɪk] で、英語のTrafficのように発音するようです。
最初からクラウドネイティブな環境向けに開発されたように見えますし、k3sに採用されていることからもおそらく軽量なんだと思います。今後検証していければと思います。
まとめ
若干話がそれましたが、k3sの導入はすごく簡単だったと思います。
今回使用したソースは以下に格納しました。