os/butane/k8s.json

2 lines
5.6 KiB
JSON

{"ignition":{"version":"3.3.0"},"passwd":{"users":[{"groups":["wheel","sudo"],"name":"cadoles","passwordHash":"$y$j9T$7dNoyJBSiQ5dJ6.kLs17I0$G9VVQkBUddW2E6TVQchecSE94jNxLz4F3wguz5QkvD8","sshAuthorizedKeys":["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDDph3zh6ojSvH44k13z9B6xj+Hargo3uzkxnYv5s5NI4yagNuBXEc3aS++KdocND+FtVfLK+iVE8qHo2bvmpMmVkqU6WU2apN7DfIP0QGLlSGeo+UOZ9hGeEDlgVO4AOnZKZ5kPGBEPZ84JXuE9CmhKfwEVCK8w3B8XQttA8alFl4A4/4F14x2w4njsSLY1H3b0qah7hgYKU5zHIGLg8Lxx+1BxGIF0l5n5m5rqAskRNaF+aYbs0CcWHv49bPK0sJJ0qPV2r2sq8BlzuZFHExnZRIxpsIXdce4Bm4rdlGi7tBmmurLk4OOtDkwvhD0LMaNJf10k6QLSmRUTVzgsYz/dmGxopbMtwwIXkwi014uSZgi8wAuznXx5I4j2TUGPZHOVf+1iw/yaxWlgTVOSoX7ZxyhDgW5cCgZZGNzU5UWe0vUuVTB+hfSMj50/Q6+Vi92/mDMbPhm4nBoVzD5DT15mB+yGyN45Ej61m0JzVUyZexfvVaffEug1/u5dnwilP0WGKr4i2OXxOXtvSdAs5rlZjvppZk6IxRCwXIcPwEFL97ZrQZAxlVS5Nh+ZnlSwTe3zfQhzHj1ao0AdCAHFPUEdoUPJhSb0OjyCvZ9XZ1KCkXhuhuN/3IUhuoWl4soNCeC3KmU/USx1wda438Exj0hM1mTyBZScDPGyD9nw78DGw== Philippe Caseiro"]}]},"storage":{"files":[{"path":"/etc/sysctl.d/k8s.conf","contents":{"compression":"","source":"data:,net.bridge.bridge-nf-call-ip6tables%20%3D%201%0Anet.bridge.bridge-nf-call-iptables%20%3D%201%0A"},"mode":384},{"path":"/root/test.txt","contents":{"compression":"","source":"data:;base64,IyBUZXN0aW5nCnt7IHByaW50ICJPSyIgfX0Ke3sgZW52LkdldEVudigiVVNFUiIpIH19CiMgRW5kIHRlc3RpbmcK"},"mode":384},{"path":"/root/kubeadm-config.yaml","contents":{"compression":"gzip","source":"data:;base64,H4sIAAAAAAAC/6yQvW7bMBRGdz4FkV2UaNmKw61IOxRBlxbozp9PAiGKFC6vXOftC9tZ1KlD9vOR51y7xt+gGks2ct4cbFjUfK4qlvaiHdj2Yo45GPk9R34teYzTRpZjycKDOI7RW8Yb3o10R4RwGt2zhdfupUM3+OGM7qU76H446HE4aPS6P/VWD6dgHRC68TzoZ98ftRtELgE/McXKjx+MkDLbBUYm2ABSc1XehpJQlS+LkHfjBP52ZbJfaKq3hZSXkrYFzZq2KeYmRDLyqS0rtyk6XOHb24wyGLX9eOEDru1j296xJ9E0jfjvC72mrTJof6QM/lNojnm6ua0l/NpcBhupO3U4HlWnulYPwpfMVFIC/bDZTqAbjX3WmHBtPrftIf724Pbi/2YnsPJ3Yl+vhZ+obOtXiheQkfW9MpbwNwAA///2zoJZWAIAAA=="},"mode":420}]},"systemd":{"units":[{"contents":"[Unit]\nDescription=Install CNI plugins K8S\nWants = network-online.target\nAfter = network.target network-online.target\nConditionPathExists=!/opt/cni/bin/firewall\n[Service]\nType=forking\nTimeoutStartSec=180\nRemainAfterExit=yes\nKillMode=process\nEnvironment=\"CNI_VERSION=v0.8.2\"\nEnvironment=\"ARCH=amd64\"\nEnvironment=\"URL=https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz\"\nExecStartPre=/bin/mkdir -p /opt/cni/bin\nExecStart=/bin/sh -c \"/usr/bin/curl -L ${URL} | /usr/bin/tar -C /opt/cni/bin -xz\"\n[Install]\nWantedBy=multi-user.target\n","enabled":true,"name":"install-cni.service"},{"contents":"[Unit]\nDescription=Install crictl\nWants = network-online.target\nAfter = network.target network-online.target\nConditionPathExists=!/opt/bin/crictl\n[Service]\nType=forking\nTimeoutStartSec=180\nRemainAfterExit=yes\nKillMode=process\nEnvironment=\"DOWNLOAD_DIR=/opt/bin\"\nEnvironment=\"CRICTL_VERSION=v1.22.0\"\nEnvironment=\"ARCH=amd64\"\nEnvironment=\"URL=https://github.com/kubernetes-sigs/cri-tools/releases/download/${CRICTL_VERSION}/crictl-${CRICTL_VERSION}-linux-${ARCH}.tar.gz\"\nExecStartPre=/bin/mkdir -p ${DOWNLOAD_DIR}\nExecStart=/bin/sh -c \"/usr/bin/curl -L ${URL} | /usr/bin/tar -C $DOWNLOAD_DIR -xz\"\n[Install]\nWantedBy=multi-user.target\n","enabled":true,"name":"install-crictl.service"},{"contents":"[Unit]\nDescription=Install K8S\nWants = network-online.target\nAfter = network.target network-online.target\nConditionPathExists=!/opt/bin/kubelet\n[Service]\nWorkingDirectory=/opt/bin\nType=forking\nTimeoutStartSec=180\nRemainAfterExit=yes\nKillMode=process\nEnvironment=\"KUBE_RELEASE=v1.25.4\"\nEnvironment=\"ARCH=amd64\"\nEnvironment=\"DOWNLOAD_DIR=/opt/bin\"\nEnvironment=\"URL=https://storage.googleapis.com/kubernetes-release/release/${KUBE_RELEASE}/bin/linux/${ARCH}\"\nExecStartPre=/bin/mkdir -p ${DOWNLOAD_DIR}\nExecStart=/bin/sh -c \"/usr/bin/curl -L --remote-name-all ${URL}/{kubeadm,kubelet,kubectl}\"\nExecStartPost=/bin/sh -c \"/bin/chmod +x ${DOWNLOAD_DIR}/{kubeadm,kubelet,kubectl}\"\n[Install]\nWantedBy=multi-user.target\n","enabled":true,"name":"install-kubernetes.service"},{"contents":"[Unit]\nDescription=The Kubernetes Node Agent\nDocumentation=https://kubernetes.io/docs/home/\nWants=network-online.target\nAfter=network-online.target\n[Service]\nExecStart=/opt/bin/kubelet\nRestart=always\nStartLimitInterval=0\nRestartSec=10\n[Install]\nWantedBy=multi-user.target\n","dropins":[{"contents":"[Service]\nEnvironment=\"KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf\"\nEnvironment=\"KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml\"\nEnvironmentFile=-/var/lib/kubelet/kubeadm-flags.env\nEnvironmentFile=-/etc/default/kubelet\nExecStart=\nExecStart=/opt/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS\n","name":"10-kubeadm.conf"}],"enabled":true,"name":"kubelet.service"},{"contents":"[Unit]\nDescription=Kubernetes cluster init\nDocumentation=https://kubernetes.io/docs/home/\nWants=network-online.target\nAfter=network-online.target install-kubernetes.service\nConditionPathExists=!/opt/libexec/kubernetes/kubelet-plugins/volume/exec/\n[Service]\nWorkingDirectory=/opt/bin\nType=forking\nTimeoutStartSec=360\nRemainAfterExit=yes\nKillMode=process\nEnvironment=\"caSecretKey=$(date | sha256sum | awk \\'{print $1}`')\"\nEnvironment=\"SET_HOSTNAME=leader.ks.cadoles.com\"\nExecStartPre=/bin/sh -c \"/usr/bin/hostnamecl hostname ${SET_HOSTNAME}\"\nExecStart=/bin/sh -c \"/opt/bin/kubeadm init --config /root/kubeadm-config.yaml --upload-certs\"\n[Install]\nWantedBy=multi-user.target\n","enabled":true,"name":"init-cluster.service"}]}}