Files
yandexcloud-k3s/terraform/main/configs/cloud_init/main_master.yaml
T

82 lines
2.6 KiB
YAML

#cloud-config
ssh_pwauth: false
package_update: true
package_upgrade: true
growpart:
mode: growpart
devices: ["/"]
ignore_growroot_disabled: true
users:
- name: ubuntu
sudo: ALL=(ALL) NOPASSWD:ALL
lock_passwd: true
shell: /bin/bash
write_files:
- path: /var/lib/rancher/credentialprovider/config.yaml
permissions: "0600"
encoding: b64
content: ${k3s_credential_provider_config}
- path: /var/lib/rancher/credentialprovider/bin/yc-credential-provider
permissions: "0700"
encoding: b64
content: ${k3s_credential_provider}
runcmd:
- |
export HOME=/root
curl https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash -s -- -i /tmp/yc -n
mv /tmp/yc/bin/yc /usr/bin/
yc config set instance-service-account true
yc config set cloud-id ${yc_cloud_id}
- |
DISK=/dev/disk/by-id/virtio-data
K3S_DIR=${k3s_dir}
mkdir -p $K3S_DIR
if ! blkid $DISK > /dev/null; then
mkfs.ext4 $DISK
fi
echo "$DISK $K3S_DIR ext4 defaults 0 0" >> /etc/fstab
mount -a
resize2fs $DISK
- |
curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=stable INSTALL_K3S_EXEC="server \
-v 2 \
--cluster-init \
--bind-address 0.0.0.0 \
--https-listen-port 6443 \
--token=${k3s_token} \
--node-name=`hostname -f` \
--node-taint CriticalAddonsOnly=true:NoExecute \
--cluster-cidr 10.96.0.0/16 \
--service-cidr 10.97.0.0/16 \
--cluster-dns 10.97.0.10 \
--tls-san ${k3s_fqdn} \
--tls-san-security \
--cluster-domain cluster.local \
--disable coredns,traefik,local-storage,metrics-server,runtimes \
--disable-network-policy \
--disable-kube-proxy \
--flannel-backend none \
--egress-selector-mode agent \
--servicelb-namespace kube-system \
--nonroot-devices \
--secrets-encryption-provider secretbox \
--lb-server-port 6444 \
--write-kubeconfig-mode 0600 \
--write-kubeconfig-group root \
--write-kubeconfig ${k3s_dir}/kubeconfig/config \
--image-credential-provider-bin-dir /var/lib/rancher/credentialprovider/bin \
--image-credential-provider-config /var/lib/rancher/credentialprovider/config.yaml \
--data-dir=${k3s_dir} \
--default-local-storage-path=${k3s_dir}/storage" sh -
- |
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
- |
mkdir -p /home/ubuntu/.kube
cp ${k3s_dir}/kubeconfig/config /home/ubuntu/.kube/config
chown -R ubuntu:ubuntu /home/ubuntu/