#!/bin/bash set -e echo "=== Installing K3s ===" curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--disable traefik --disable servicelb --tls-san gooseek.ru --tls-san 5.187.77.89" sh - echo "=== Waiting for K3s to be ready ===" sleep 10 sudo k3s kubectl wait --for=condition=Ready node --all --timeout=120s echo "=== Setting up kubectl for user ===" mkdir -p ~/.kube sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config sudo chown $(id -u):$(id -g) ~/.kube/config chmod 600 ~/.kube/config echo "=== Installing Helm ===" curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash echo "=== Installing Nginx Ingress Controller ===" helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update helm install ingress-nginx ingress-nginx/ingress-nginx \ --namespace ingress-nginx --create-namespace \ --set controller.service.type=NodePort \ --set controller.service.nodePorts.http=80 \ --set controller.service.nodePorts.https=443 \ --set controller.hostNetwork=true \ --set controller.kind=DaemonSet echo "=== Installing Cert-Manager ===" helm repo add jetstack https://charts.jetstack.io helm install cert-manager jetstack/cert-manager \ --namespace cert-manager --create-namespace \ --set crds.enabled=true echo "=== Waiting for cert-manager ===" kubectl -n cert-manager wait --for=condition=Available deployment --all --timeout=120s echo "=== Creating Let's Encrypt ClusterIssuer ===" cat <