名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。

k3dとKubernetesでhello, worldするだけ

やっただけ。バックグラウンドとしては、そろそろ話題のものを追っておく必要が出てきたため。

やったこと

出来上がった yaml

メモのための残しておく。ちなみにバージョン情報はこんな感じでした。

$ k3d version
k3d version v3.2.0
k3s version v1.18.9-k3s1 (default)

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.9+k3s1", GitCommit:"630bebf94b9dce6b8cd3d402644ed023b3af8f90", GitTreeState:"clean", BuildDate:"2020-09-17T19:05:07Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: nginx
  annotations:
    ingress.kubernetes.io/ssl-redirect: "false"
spec:
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          serviceName: nginx
          servicePort: 80

感想

  • とりあえず動いたけど、何が起きてるのかいまいちわからん
    • 概念が頭に入っていないため
    • 何がどこに関係性を持っているのかわかってない
    • とりあえず k3d は立てるだけのもので、ごちゃごちゃアプリケーションの何かを変更する本質的なものは kubectl 側かなという感想
  • あとローカルで色々立てるのはやめて、Docker上で立てるとか、仮想マシン上で立てるとかしたほうが良さそう
    • (WSL2 上でやっている時点で仮想マシン?という気はするが)
    • 他の OS を入れてみて、そっちに立てて見るとか、Vagrant とかでやるとか?
  • 概念をおさえるために Kubernetes 自身のドキュメントを読んでみるかなぁ
  • あとは AWS とか GCP との関係性とか?
    • クラウドとマシンをうねうねやるのに向いているらしいというのは知っているが…
    • それなりにマシン数を立ち上げるはずなので、個人でやるにはお金がかかりすぎるんじゃねという気がしていて小さい hello, wolrd アプリだけで終わりそう
    • 小さく始めるには少し大きすぎそう、まああれか、Dockerとかで立ち上げて、構成できる範囲を超えてくると自動的なスケーリングが必要になるので、k8sが必要になってくるんだろうなという気がしている

もう少し概念的なところと、適用ケースを学んでみないとなーと思ってます。はい。

あと小さいチュートリアルみたいなのをもう少しやりながら学びたい感。 とりあえず今日のところは終わり。