この記事の背景
Kubernetesを勉強するために、microk8sをCentOS8にインストールしようとした。
そのためにまずはsnapdが必要だが、2019/12/13時点で、CentOSのepelパッケージには、snapd-selinuxが入っておらず単純に
# sudo dnf install snapd
としただけでは、エラーとなってしまう。
それに対応した記事です。
なので、CentOS8のepelでsnapd-selinuxをインストールできるようになったら、この手順は必要ないです。
手順の流れ
- snapdのインストールに必要なツールをインストール
- snapdのソースを取得
- snapdのrpmを作成
- snapdをローカルインストール
- snapコマンドでmicrok8sをインストール
作業時のCentOSバージョン
CentOS Linux release 8.0.1905 (Core)
1.snapdのインストールに必要なツールをインストール
sudo dnf -y install go-toolset
sudo dnf -y module install go-toolset
sudo dnf -y install git spectool
2.snapdのソースを取得
この時点では2.42.2をダウンロードしCentOS8サーバに置く
https://github.com/snapcore/snapd/releases/tag/2.42.2
以下のファイル2つ
snapd_2.42.2.no-vendor.tar.xz
snapd_2.42.2.only-vendor.tar.xz
CentOS8の以下の場所に置く(任意の場所でOK)
# mkdir -p ~/rpmbuild/SOURCES/
# cd ~/rpmbuild/SOURCES/
# ls
snapd_2.42.2.no-vendor.tar.xz snapd_2.42.2.only-vendor.tar.xz
3.snapdのrpmを作成する
ファイルの解凍
cd ~/rpmbuild/SOURCES/
xz -dc snapd_2.42.2.no-vendor.tar.xz | tar xfv -
ls
snapd-2.42.2 snapd_2.42.2.no-vendor.tar.xz snapd_2.42.2.only-vendor.tar.xz
sudo dnf builddep ./snapd-2.42.2/packaging/fedora/snapd.spec -y
sudo rpmbuild -bb ./snapd-2.42.2/packaging/fedora/snapd.spec
:
書き込み完了: ~/rpmbuild/RPMS/x86_64/snapd-2.42.2-0.el8.x86_64.rpm
書き込み完了: ~/rpmbuild/RPMS/x86_64/snap-confine-2.42.2-0.el8.x86_64.rpm
書き込み完了: ~/rpmbuild/RPMS/noarch/snapd-selinux-2.42.2-0.el8.noarch.rpm
書き込み完了: ~/rpmbuild/RPMS/noarch/snapd-devel-2.42.2-0.el8.noarch.rpm
書き込み完了: ~/rpmbuild/RPMS/x86_64/snapd-debugsource-2.42.2-0.el8.x86_64.rpm
書き込み完了: ~/rpmbuild/RPMS/x86_64/snapd-debuginfo-2.42.2-0.el8.x86_64.rpm
書き込み完了: ~/rpmbuild/RPMS/x86_64/snap-confine-debuginfo-2.42.2-0.el8.x86_64.rpm
:
4. snapdをローカルインストール
# cd ~/rpmbuild/RPMS/
# ls
noarch x86_64
# sudo dnf -y localinstall ./x86_64/snap-confine-2.42.2-0.el8.x86_64.rpm
# sudo dnf -y localinstall ./noarch/snapd-selinux-2.42.2-0.el8.noarch.rpm
# sudo dnf -y localinstall ./x86_64/snapd-2.42.2-0.el8.x86_64.rpm
# sudo systemctl enable --now snapd.socket
# sudo ln -s /var/lib/snapd/snap /snap
5. snapコマンドでmicrok8sをインストール
# sudo snap install microk8s --classic
# snap list
Name Version Rev Tracking Publisher Notes
core 16-2.42.5 8268 stable canonical? core
microk8s v1.16.3 1079 stable canonical? classic
おわりに
これでmicrok8sをインストールできたので、後は公式サイト等を参照してください。
https://microk8s.io/