k8s bootcamp

  • いろんなことを無視してdocker/k8sを動かして覚えるrepo

  • 最後のchapterでk8s上で簡単なweb/ap/db構成のアプリケーションを作成します。

  • IngressControllerを利用し、L7ロードバランス先の特定のFQDNにアクセスするため、ワイルドカードDNSまたはhostファイルを利用します。mac等でワイルドカードDNSを利用したい場合は以下のrepoを参考にしてください。

  • dockerでdnsを起動し、mac上でワイルドカードdnsを作成する。
    https://github.com/n-guitar/alpine-dnsmasq

動作確認済環境

# Macbook Pro Intel
$ sw_vers
ProductName:    macOS
ProductVersion: 11.6.4
BuildVersion:   20G417

# VM
$ vagrant --version
Vagrant 2.2.10

$ VBoxManage -v
6.1.34r150636

virtualbox + vagrant + kubeadm による環境構築

docs 概要
vagrant k8s_on_virtualbox2/doc.md Ubuntu 21.10でcontrol plane×1 worker×1 (2)
vagrant package_box/doc.md Ubuntu 21.10でcontrol plane×1 worker×1 (2)
k8sを予めPackagingしたイメージを利用
vm起動後kubeadm init/joinを行う

Docker + k3s

  • 注意!一部kubeletやstaticpodの確認ができない
docs 概要
Docker + k3s k3s_in_doccker/doc.md k3sでcontrol plane×1 worker×2
  • 以下のportを利用
用途 <host port>:<container port>
Api用 6443:6443
Ingress用 80:80,443:443,10080:80,10443:443,20080:80,20443:443
NodePort用 30000-30005:30000-30005, 31000-31005:30000-30005

chapter

chapter docs 概要
chapter1 chapter1/ex.md 簡単なdockerの操作
chapter2 chapter2/ex.md kubectlの操作環境の確認とcore componentの確認
chapter3 chapter3/ex.md Pod、ReplicaSet、Deploymentの操作
chapter4 chapter4/ex.md Serviceの操作
chapter5 chapter5/ex.md Schedulingの操作
chapter6 chapter6/ex.md データの永続化 PV/PVC/StorageClassの操作
chapter7 chapter7/ex.md NamespaceとDNS
chapter8 chapter8/ex.md IngressControllerと復習
chapter8 chapter9/ex.md RBAC、SecurityContext、NetWorkPolicyの操作

virtualbox

vagrant

lima