Help us understand the problem. What is going on with this article?

ブラウザ上で無料で試せるkubernetes環境一覧

学習用途やちょっとした実験用のkubernetes環境はサクッと準備したいですよね。
そんな時に便利な、ブラウザ上で使える無料のkubernetes環境を紹介します。

kubernetes公式

まずは公式ドキュメントに記載されているkubernetes環境を紹介します。

hello minikube

Hello Minikube - Kubernetes

Launch Terminalボタンをクリックするとブラウザ上でminikubeが使えます。

minikubeは開発用のkubernetes環境で、現在はシングルノードクラスタです。
本記事執筆時点のクラスタバージョンはv1.17.0でした。

Your Interactive Learning Environment Bash Terminal

$ start.sh
Starting Kubernetes...minikube version: v1.6.2
commit: 54f28ac5d3a815d1196cd5d57d707439ee4bb392
* minikube v1.6.2 on Ubuntu 18.04
* Selecting 'none' driver from user configuration (alternates: [])
* Running on localhost (CPUs=2, Memory=2461MB, Disk=47990MB) ...
* OS release is Ubuntu 18.04.3 LTS
* Preparing Kubernetes v1.17.0 on Docker '18.09.7' ...
  - kubelet.resolv-conf=/run/systemd/resolve/resolv.conf
* Pulling images ...
* Launching Kubernetes ...
* Configuring local host environment ...
* Done! kubectl is now configured to use "minikube"
* dashboard was successfully enabled
Kubernetes Started
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:12:17Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
$

Learn Kubernetes Basics

Learn Kubernetes Basics

こちらもkubernetes公式ドキュメントに記載されているチュートリアルです。
Interactive Tutorialのページに進むとブラウザ上でminikubeを操作できます。
アプリのデプロイ・公開手順やスケール・アップデート手順を学ぶことができます。

以下のようなシナリオが用意されています。

本記事執筆時点のクラスタバージョンはv1.17.0でした。

Play with Kubernetes

Play with Kubernetes

4時間の時間制限がありますが5ノードまで追加できます。
マルチノードクラスタを試したい場合に便利です。

マルチノードクラスタの構築手順

node1をmasterノードとして初期化します。

[node1 ~]$ kubeadm init --apiserver-advertise-address $(hostname -i)
[node1 ~]$ kubectl apply -n kube-system -f \
    "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 |tr -d '\n')"
[node1 ~]$

workerノードをクラスタにjoinさせるコマンドはkubeadm initコマンド結果に記載されていますのでクリップボードにコピーしておきます。

そのコマンドをnode2〜5上で叩き、workerノードとしてクラスタにjoinさせます。

[node2 ~]$ kubeadm join 192.168.0.28:6443 --token cz22wg.64gcoic3ewgpfbbb \
    --discovery-token-ca-cert-hash sha256:ab56003009cc5110c7878f3de4c1ac3fe2b0a1101d0b79d803853d25b9f08f22

master + worker4台構成のクラスタが構築できました。

[node1 ~]$ kubectl get no
NAME    STATUS   ROLES    AGE     VERSION
node1   Ready    master   8m32s   v1.14.9
node2   Ready    <none>   6m7s    v1.14.9
node3   Ready    <none>   5m9s    v1.14.9
node4   Ready    <none>   3m15s   v1.14.9
node5   Ready    <none>   3m12s   v1.14.9
[node1 ~]$

Katacoda

様々な技術をブラウザ上で学習できるサイトです。
TwitterやGithubなどのアカウントでログインすると進捗が管理できて便利です。

kubernetesのコースも豊富に用意されていて、ブラウザ上で様々なシナリオを試せます。
Interactive Browser Based Labs, Courses & Playgrounds | Katacoda

例えばこちらのコースには20シナリオが用意されています。
Helm(v2です)やKomposeの使い方も学べます。
Learn Kubernetes using Interactive Browser-Based Labs | Katacoda

まとめ

以上、ブラウザ上で無料で試せるkubernetes環境一覧を紹介しました。
学習用途やちょっとした実験に役立ていただけたら幸いです。

他にも使えそうな環境がありましたら、見つけ次第アップデートします。

  • TryK8S : メンテ中なのか使えなかった。

追記 : コメントに有益な情報をいただいていますので、是非ご覧くださいませ。

loftkun
❤piano 🎵spitz ☗☖shogi first grade 💻CloudNative Days Fukuoka 2020 Committee 🎤speakerdeck.com/loftkun 🎹youtube.com/user/loftkun 🎸contribute : kubernetes/minikube
https://twitter.com/loftkun
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away