kubespray-ansible-executor-for-jetson は jetson 上に kubernetes cluster を構築するためのツールです。
- Jetson Xavier NX(Jetpack 4.6.2)
- Jetson Xavier AGX(Jetpack 4.6.2)
kuberspray を git clone してください。
make clone-kubespray
env.json5.sample から env.json5 を複製して用意してください。
- user
- ansible をあてるための ssh username
- executionPath
- kubespray の git clone した場所
各 Jetson 端末の resolv.conf を書き換えてください。
sudo su -
echo 'nameserver 8.8.8.8' >> /etc/resolvconf/resolv.conf.d/head
servie resolvconf restart
inventory の情報ファイルを生成してください。
make copy-inventory
inventory に 対象の ip address を追加してください。
declare -a IPS=(192.168.100.101 192.168.100.102 192.168.100.103)
CONFIG_FILE=kubespray/inventory/mycluster/hosts.yml python3 kubespray/contrib/inventory_builder/inventory.py ${IPS[@]}
「inventory/mycluster/hosts.yml」の設定ファイルの control plane と worker の設定を行ってください。
kuberspray 公式の「docs/docker.md」のドキュメントに沿って cri-dockerd に対応させるようにします。 生成された「inventory/mycluster/group_vars/all/docker.yml」配下の対象設定項目を差し替えます。
各ファイルで設定している container_manager の設定項目を docker に差し替えます。
- inventory/mycluster/group_vars/all/etcd.yml
- inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml
kube_proxy_mode を iptables に変更してください。
- roles/kubespray-defaults/defaults/main.yaml
- inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml
ansible-playbook を実行します。
make execute