blob: 77b88fe4ff3854a018015c8f69fb024d84ed7bf0 [file] [log] [blame]
giolekva415c2762021-07-23 23:42:58 +04001#!/bin/sh
2
3# # # helm repo add cilium https://helm.cilium.io/
4# # # helm repo add rook-release https://charts.rook.io/release
5
6# helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
7# helm repo add jetstack https://charts.jetstack.io
8# helm repo add longhorn https://charts.longhorn.io
9# helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
10# helm repo add mojo2600 https://mojo2600.github.io/pihole-kubernetes/
11# # helm repo add kube-state-metrics https://kubernetes.github.io/kube-state-metrics
12# # helm repo add grafana https://grafana.github.io/helm-charts
13# helm repo update
14
15# ssh -t pcloud@192.168.0.111 "k3s-agent-uninstall.sh"
16# ssh -t pcloud@192.168.0.112 "k3s-agent-uninstall.sh"
17# ssh -t pcloud@192.168.0.113 "k3s-uninstall.sh"
18# ssh -t pcloud@192.168.0.111 "sudo shutdown -r"
19# ssh -t pcloud@192.168.0.112 "sudo shutdown -r"
20# ssh -t pcloud@192.168.0.113 "sudo shutdown -r"
21# ping 192.168.0.113
22
23# k3sup install \
24# --k3s-channel stable \
25# --cluster \
26# --user pcloud \
27# --ip 192.168.0.111 \
28# --k3s-extra-args "--node-taint pcloud=role:NoSchedule --disable traefik --disable local-storage --disable servicelb --kube-proxy-arg proxy-mode=ipvs --kube-proxy-arg ipvs-strict-arp --flannel-backend host-gw"
29# # --k3s-extra-args "--disable-kube-proxy --disable traefik --disable local-storage --disable servicelb --flannel-backend=none"
30
31# k3sup join \
32# --k3s-channel stable \
33# --ip 192.168.0.112 \
34# --user pcloud \
35# --server-user pcloud \
36# --server-ip 192.168.0.111
37
38# k3sup join \
39# --k3s-channel stable \
40# --ip 192.168.0.113 \
41# --user pcloud \
42# --server-user pcloud \
43# --server-ip 192.168.0.111
44
45# kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml
46# kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/metallb.yaml
47# # On first install only
48# kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey="$(openssl rand -base64 128)"
49# kubectl apply -f metallb-config.yaml
50
51
52
53# # # kubectl apply -f bgp-config.yaml
54# # helm install cilium cilium/cilium \
55# # --version 1.10.2 \
56# # --namespace kube-system \
57# # --set hubble.relay.enabled=true \
58# # --set hubble.ui.enabled=true \
59# # --set kubeProxyReplacement=strict \
60# # --set k8sServiceHost=192.168.0.113 \
61# # --set k8sServicePort=6443 \
62# # --set policyEnforcementMode=never \
63# # --set nodePort.enabled=true
64# # # --set bgp.enabled=true \
65# # # --set bgp.announce.loadbalancerIP=true \
66
67
68# # kubectl create ns cilium-test
69# # kubectl apply --namespace=cilium-test -f https://raw.githubusercontent.com/cilium/cilium/v1.10.2/examples/kubernetes/connectivity-check/connectivity-check.yaml
70
71
72# # helm install --create-namespace \
73# # --namespace rook-ceph \
74# # rook-ceph rook-1.6.7/cluster/charts/rook-ceph \
75# # --set image.tag=v1.6.7
76
77# # kubectl apply -f ceph-cluster.yaml
78# # # kubectl -n rook-ceph patch cephcluster rook-ceph --type merge -p '{"spec":{"cleanupPolicy":{"confirmation":"yes-really-destroy-data"}}}'
79# # # ceph config set mgr mgr/dashboard/server_addr 0.0.0.0
80
81
82# helm install --create-namespace \
83# --namespace ingress-nginx \
84# nginx ingress-nginx/ingress-nginx \
85# --set fullNameOverride=nginx \
86# --set controller.service.type=LoadBalancer \
87# --set controller.setAsDefaultIngress=true \
88# --set controller.extraArgs.v=2 \
89# --set controller.extraArgs.default-ssl-certificate=ingress-nginx/cert-wildcard.lekva.me
90
giolekvaeb3b6a82021-07-31 17:49:24 +040091helm install --create-namespace \
92 --namespace ingress-nginx-private \
93 nginx ingress-nginx/ingress-nginx \
94 --set fullnameOverride=nginx-private \
95 --set controller.service.type=LoadBalancer \
96 --set controller.setAsDefaultIngress=false \
97 --set controller.ingressClass=nginx-private
giolekva415c2762021-07-23 23:42:58 +040098
99# helm install --create-namespace \
100# --namespace cert-manager \
101# cert-manager jetstack/cert-manager \
102# --version v1.4.0 \
103# --set installCRDs=true
104
105# kubectl apply -f ../../apps/rpuppy/install.yaml
106
107
108# helm install --create-namespace \
109# --namespace longhorn-system \
110# longhorn longhorn/longhorn \
111# --set defaultSettings.defaultDataPath=/pcloud-storage/longhorn \
112# --set persistence.defaultClassReplicaCount=2 \
113# --set ingress.enabled=true \
114# --set ingress.ingressClassName=nginx \
115# --set ingress.host=longhorn.pcloud \
116# --set ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\""
117
118# kubectl apply -f ~/dev/src/socialme-go/install.yaml
119
120# # # TODO retention days
121# # helm install --create-namespace \
122# # --namespace prometheus \
123# # prometheys prometheus-community/prometheus \ # TODO prometheys
124# # --set alertmanager.ingress.enabled=true \
125# # --set alertmanager.ingress.ingressClassName=nginx \
126# # --set alertmanager.ingress.hosts={alertmanager.prometheus.pcloud} \
127# # --set alertmanager.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
128# # --set server.ingress.enabled=true \
129# # --set server.ingress.ingressClassName=nginx \
130# # --set server.ingress.hosts={prometheus.pcloud} \
131# # --set server.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
132# # --set server.persistentVolume.size=100Gi \
133# # --set pushgateway.ingress.enabled=true \
134# # --set pushgateway.ingress.ingressClassName=nginx \
135# # --set pushgateway.ingress.hosts={pushgateway.prometheus.pcloud} \
136# # --set pushgateway.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
137# # --set pushgateway.persistentVolume.enabled=true
138
139# # helm install --create-namespace \
140# # --namespace grafana \
141# # --set ingress.enabled=true \
142# # --set ingress.ingressClassName=nginx \
143# # --set ingress.hosts={grafana.pcloud} \
144# # --set ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
145# # --set persistence.enabled=true \
146# # --set persistence.size=50Gi
147
148# helm install --create-namespace \
149# --namespace prometheus-system \
150# prometheus prometheus-community/kube-prometheus-stack \
151# --set alertmanager.ingress.enabled=true \
152# --set alertmanager.ingress.ingressClassName=nginx \
153# --set alertmanager.ingress.hosts={alertmanager.prometheus.pcloud} \
154# --set alertmanager.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
155# --set alertmanager.ingress.pathType=Prefix \
156# --set grafana.ingress.enabled=true \
157# --set grafana.ingress.ingressClassName=nginx \
158# --set grafana.ingress.hosts={grafana.prometheus.pcloud} \
159# --set grafana.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
160# --set grafana.ingress.pathType=Prefix \
161# --set prometheus.ingress.enabled=true \
162# --set prometheus.ingress.ingressClassName=nginx \
163# --set prometheus.ingress.hosts={prometheus.pcloud} \
164# --set prometheus.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
165# --set prometheus.ingress.pathType=Prefix
166
giolekvaeb3b6a82021-07-31 17:49:24 +0400167# # kubectl apply -f ../../apps/pihole/install.yaml
168# helm upgrade --create-namespace \
169# --namespace pihole \
170# pihole mojo2600/pihole \
171# --set ingress.enabled=true \
172# --set ingress.hosts={"pihole.pcloud"} \
173# --set serviceDhcp.enabled=false \
174# --set serviceDns.type=LoadBalancer \
175# --set serviceWeb.type=ClusterIP \
176# --set serviceWeb.https.enabled=false \
177# --set virtualHost="pihole.pcloud"
giolekva415c2762021-07-23 23:42:58 +0400178
179# kubectl apply -f cert-manager-webhook-gandi/rbac.yaml
180# helm upgrade --namespace cert-manager \
181# cert-manager-webhook-gandi ./cert-manager-webhook-gandi/deploy/cert-manager-webhook-gandi \
182# --set image.repository=giolekva/cert-manager-webhook-gandi \
183# --set image.tag=latest \
184# --set image.pullPolicy=Always \
185# --set logLevel=2
186
187# kubectl apply -f cluster-issuer.yaml
giolekva24f64052021-07-26 16:09:43 +0400188
giolekvaeb3b6a82021-07-31 17:49:24 +0400189# kubectl apply -f ../../apps/maddy/install.yaml
190# kubectl apply -f maddy-config.yaml