kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Katacoda を使って学習コンテンツを作ろう : Enviroments 編

前回の記事では Katacoda を使って学習コンテンツを作る手順をまとめた.今回は「Environments(環境)」を詳しく調べる.

kakakakakku.hatenablog.com

Environments(環境)

以下のドキュメントに載っている通り,多くの環境を使える.代表的な環境を載せる.「Ubuntu」環境を使えば Linux 関連の操作を学ぶ学習コンテンツを作れるし,「Go」環境や「Ruby」環境を使えばプログラミングを体験する学習コンテンツを作れる.また「Kubernetes Cluster Running」環境を使えばサクッと Kubernetes を試せる.前に CKAD の対策で Katacoda を使ったけど,こういう環境を使ってたんだ!と理解できた.

  • Ubuntu 20.04
  • Python 3.8
  • Go
  • Ruby
  • Node.js
  • Kubernetes Cluster 1.18
  • etc

www.katacoda.community

Katacoda Environments

今回は「Environments(環境)」の違いを試せる学習コンテンツ「Katacoda Environments」を使う.Katacoda を学ぶための学習コンテンツが Katacoda にあって循環参照的な仕組みでとても良くできてる!

katacoda.com

1. Ubuntu 20.04 Instance 🎲

まずは「Ubuntu」環境を試す.

katacoda.com

開始すると Ubuntu 20.04.3 を使えた.

$ cat /etc/issue
Ubuntu 20.04.3 LTS \n \l

apt install コマンドを使って nginx をインストールしてみる.問題なく http://localhost/ にリクエストを投げられた.Linux 操作を紹介する学習コンテンツを簡単に作れそう!

$ sudo apt update
$ sudo apt install -y nginx

$ systemctl status nginx | grep Active
     Active: active (running) since Tue 2022-01-18 14:40:11 UTC; 1min 0s ago

$ curl http://localhost/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

f:id:kakku22:20220214124945p:plain

2. Go 🎲

次に「Go」環境を試す.

katacoda.com

開始すると Go 1.14.2 を使えた.少し古めだった.

$ go version
go version go1.14.2 linux/amd64

「Go Playground」に載っているサンプルコード「Hello, World!」「Concurrent pi」は問題なく実行できた.特にバージョンは気にせず,本当に第一歩として Go に入門するときに使えそう!

$ go build hello.go
$ ./hello
Hello, 世界

$ go build pi.go
$ ./pi
3.141392653591788

f:id:kakku22:20220214125138p:plain

3. Kubernetes Cluster Running 🎲

最後に「Kubernetes Cluster Running」環境を試す.すぐに Kubernetes クラスターを使って操作できる.

katacoda.com

Kubernetes v1.18.0 で「コントロールプレーン」「ワーカーノード」の計2台構成になっていた.

controlplane $ kubectl get nodes
NAME           STATUS   ROLES    AGE    VERSION
controlplane   Ready    master   111s   v1.18.0
node01         Ready    <none>   80s    v1.18.0

検証用に以下のマニフェストを書いた.

apiVersion: v1
kind: Pod
metadata:
  name: katacoda-nginx
  labels:
    app: katacoda-nginx
spec:
  containers:
    - name: nginx
      image: nginx:1.21-alpine
      ports:
        - containerPort: 80

kubectl apply コマンドで適用すると問題なく Pod を作れた.Kubernetes に入門したいけどクラスター構築で挫折しそうな人に良さそう.すぐに kubectl コマンドを実行できるのは入門者にとって本当に便利!

controlplane $ kubectl apply -f pod.yaml 
pod/katacoda-nginx created

controlplane $ kubectl get pods
NAME             READY   STATUS    RESTARTS   AGE
katacoda-nginx   1/1     Running   0          2m43s

f:id:kakku22:20220214130225p:plain

まとめ

Katacoda では多くの「Environments(環境)」が使える.「Ubuntu」環境も便利だし「Kubernetes Cluster Running」環境も便利!また学習コンテンツの内容によってはコードを書くときにエディタを使えるとより便利で,次の記事では VSCode 連携を紹介する.