Last active
February 21, 2026 00:12
-
-
Save jkeam/fd5ca60d6e890def146c0f23dfcd1025 to your computer and use it in GitHub Desktop.
Digital Ocean Create Kubernetes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| doctl kubernetes options sizes | |
| # Create cluster | |
| doctl kubernetes cluster create lfe-cluster \ | |
| --region nyc1 \ | |
| --version 1.34.1-do.3 \ | |
| --maintenance-window saturday=02:00 \ | |
| --node-pool "name=worker-pool;size=s-2vcpu-2gb-90gb-intel;count=2;tag=lfecluster;tag=jkeam;tag=clustername:lfe-cluster" | |
| # Destroy cluster | |
| doctl kubernetes cluster delete lfe-cluster | |
| # Get context | |
| doctl kubernetes cluster kubeconfig save <uuid> | |
| # Cert Manager | |
| helm repo add jetstack https://charts.jetstack.io | |
| helm repo update | |
| helm install \ | |
| cert-manager jetstack/cert-manager \ | |
| --namespace cert-manager \ | |
| --create-namespace \ | |
| --version v1.19.3 \ | |
| --set crds.enabled=true \ | |
| --set 'config.enableGatewayAPI=true' | |
| # DO API Secret (to create DNS records) | |
| cat <<EOF | kubectl apply -f - | |
| apiVersion: v1 | |
| kind: Secret | |
| metadata: | |
| name: digitalocean-dns | |
| namespace: cert-manager | |
| type: Opaque | |
| stringData: | |
| token: "dop_v1_something" | |
| EOF | |
| # Cluster issuer | |
| cat <<EOF | kubectl apply -f - | |
| apiVersion: cert-manager.io/v1 | |
| kind: ClusterIssuer | |
| metadata: | |
| name: letsencrypt | |
| spec: | |
| acme: | |
| server: https://acme-v02.api.letsencrypt.org/directory | |
| email: jpkeam@gmail.com | |
| privateKeySecretRef: | |
| name: letsencrypt-account-key | |
| solvers: | |
| - dns01: | |
| digitalocean: | |
| tokenSecretRef: | |
| name: digitalocean-dns | |
| key: token | |
| EOF | |
| # Docs | |
| # gateway: https://www.digitalocean.com/community/tutorials/kubernetes-gateway-api-tutorial-cilium-ingress-alternative | |
| # cert-manager: https://www.digitalocean.com/community/tutorials/https-traffic-routing-gateway-api-cilium |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment