[Kubernetes]おうちKubernetesのはじめかた 第1回

# はじめに
AWS EKSのコンテナ基盤の維持管理や拡張などの業務をして2年以上が経過し、よりKubernetesを深く知りたくなってきたので、おうちKubernetesを始めようと思います。

# 今回やること

今回はコントロールプレーンのOSインストールまでやります。

# ハードウェア
ハードウェアはたまたま？HPのProdeskがあるのでこれを使います。

![DSC_1427.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4073781/98578dcc-c4a5-4917-a5ff-2dd52c7ed8ae.jpeg)

以前OSの検証などのためにVMWareのESXiをインストールしてRHELの仮想マシンを立てたりしたものです。

1年ぶりくらいに起動しましたが何事もなく起動しました。

スペックは以下のような感じです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4073781/6942933c-77a9-4104-94e6-30e79a4277e9.png)

# 仮想化システム
ハードは1台しかないので仮想化してコントロールプレーン、データプレーンを別々の仮想マシンで動かそうと思います。

仮想化システムは既にインストールされているVMware ESXiを使います。

ESXiのバージョンは7.0 Update 3です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4073781/295f11db-3b77-4c4c-8fa2-f46bc0017408.png)

# ハードウェア要件確認
公式ドキュメントでコントロールプレーンのハードウェア要件などを調べます。

今回はkubeadmでインストールするので以下を参照しました。

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

CPUメモリは以下のようです。

* CPU：2 CPU以上
* メモリ：2 GB以上

OSのLinuxディストリビューションはDebian, Redhat, Ubuntu, Fedora, CentOSなどが使用可能です。

今回はできるだけOSS使いたいのでCentOSにします。

# 仮想マシン作成
以下の要領で仮想マシンを作成します。

* マシン名/ホスト名：controlplane01
* CPU：2
* メモリ：2 GB
* ストレージ：20 GB
* OS：CentOS Stream 10

ストレージはOS要件の10 GBに少し足して20 GBとしました。

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/interactively_installing_rhel_from_installation_media/system-requirements-and-supported-architectures_rhel-installer#supported-installation-targets_system-requirements-and-supported-architectures

※CentOSはインストールガイドのようなものが見つからなかったのでRedhatのドキュメントを参照しています。

仮想マシン作成後の構成画面

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4073781/06af0414-5579-462f-9a50-71cf8882c6c2.png)

# OSインストール
仮想マシンを起動してOSをポチポチインストールしました。

特に変わった設定はしていませんが、デフォルトから変更した主な設定は以下です。

* ソフトウェアの選択：サーバー（GUI要らないので）
* IPアドレス：DHCPではなく固定IPアドレスを付与

インストールが完了しました。

ディスクケチりすぎたかなと思いましたが15 GBほど残っています。

```
[root@controlplane01 ~]# more /etc/os-release
NAME="CentOS Stream"
VERSION="10 (Coughlan)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="10"
PLATFORM_ID="platform:el10"
PRETTY_NAME="CentOS Stream 10 (Coughlan)"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:centos:centos:10"
HOME_URL="https://centos.org/"
VENDOR_NAME="CentOS"
VENDOR_URL="https://centos.org/"
BUG_REPORT_URL="https://issues.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 10"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
[root@controlplane01 ~]# df -h
ファイルシス                       サイズ  使用  残り 使用% マウント位置
/dev/mapper/cs_controlplane01-root    17G  2.1G   15G   13% /
devtmpfs                             4.0M     0  4.0M    0% /dev
tmpfs                                853M     0  853M    0% /dev/shm
tmpfs                                342M  6.7M  335M    2% /run
tmpfs                                1.0M     0  1.0M    0% /run/credentials/systemd-journald.service
/dev/sda2                            960M  333M  628M   35% /boot
tmpfs                                1.0M     0  1.0M    0% /run/credentials/getty@tty1.service
tmpfs                                171M  4.0K  171M    1% /run/user/0
```

# 課題対応
## 仮想マシンに設定したゲストOSの設定

仮想マシン作成時にゲストOSをCentOS Linuxに設定していたのですが、CentOS 9に設定するよう警告が出ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4073781/908fff23-e7c5-4922-a9a1-59dbab3ea06d.png)

仮想マシンの設定の編集から変更しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4073781/2e7c0a6d-4eb3-459e-bc4f-675ec51ae359.png)

# まとめ

以上で今回の作業は終了です。

次回はkubeadmでコントロールプレーンのインストールをやっていこうと思います。

# 参考

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/interactively_installing_rhel_from_installation_media/system-requirements-and-supported-architectures_rhel-installer