名前はまだない

インフラとバックエンドの間を彷徨っているエンジニア…の卵

自宅鯖(CentOS7.5)1台でk8s環境を構築してみる

オンプレのサーバマシンを買ったのでオンプレk8s運用日記でも書いてみる
その為にはまずは環境を作る!!!

環境

構成

  • 題名にもある通り予算の関係で今回は1台の物理マシン上にk8sを構成するのでmaster, workerが同じマシンで動作する
    • 誰かお年玉くれたら同じ構成でもう1台物理マシン買うんだけどな…
    • 神様がいることを願って賽銭箱(欲しいものリスト)置いときますね。笑

www.amazon.jp

スペック

  • メモリ
    • 8GiB × 2枚
  • CPU
  • OS
    • CentOS7
  • ネットワーク構成
    • LANは192.168.128.0/24

k8s

  • バージョン
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"}
  • CNI
    • Flannel

構築作業

  • このサイトを元に構築していく

qiita.com

  • Master NodeにもPodをデプロイする
    • 今回はマシンが1台しかないので仕方なくmaster兼workerにする
    • ホスト名はkubectl get nodesNAMEに書いてあるもの
kubectl taint nodes <ホスト名> node-role.kubernetes.io/master:NoSchedule-

エラー一覧

  • kubeadm initが失敗する
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
  • 以下のサイトを参考にdockerのcgroupを変更する

kubernetes.io