blob: a4f6b8a2480e51fc932a0041b8c848f24b4a28ec [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
91
92# helm install --create-namespace \
93# --namespace cert-manager \
94# cert-manager jetstack/cert-manager \
95# --version v1.4.0 \
96# --set installCRDs=true
97
98# kubectl apply -f ../../apps/rpuppy/install.yaml
99
100
101# helm install --create-namespace \
102# --namespace longhorn-system \
103# longhorn longhorn/longhorn \
104# --set defaultSettings.defaultDataPath=/pcloud-storage/longhorn \
105# --set persistence.defaultClassReplicaCount=2 \
106# --set ingress.enabled=true \
107# --set ingress.ingressClassName=nginx \
108# --set ingress.host=longhorn.pcloud \
109# --set ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\""
110
111# kubectl apply -f ~/dev/src/socialme-go/install.yaml
112
113# # # TODO retention days
114# # helm install --create-namespace \
115# # --namespace prometheus \
116# # prometheys prometheus-community/prometheus \ # TODO prometheys
117# # --set alertmanager.ingress.enabled=true \
118# # --set alertmanager.ingress.ingressClassName=nginx \
119# # --set alertmanager.ingress.hosts={alertmanager.prometheus.pcloud} \
120# # --set alertmanager.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
121# # --set server.ingress.enabled=true \
122# # --set server.ingress.ingressClassName=nginx \
123# # --set server.ingress.hosts={prometheus.pcloud} \
124# # --set server.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
125# # --set server.persistentVolume.size=100Gi \
126# # --set pushgateway.ingress.enabled=true \
127# # --set pushgateway.ingress.ingressClassName=nginx \
128# # --set pushgateway.ingress.hosts={pushgateway.prometheus.pcloud} \
129# # --set pushgateway.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
130# # --set pushgateway.persistentVolume.enabled=true
131
132# # helm install --create-namespace \
133# # --namespace grafana \
134# # --set ingress.enabled=true \
135# # --set ingress.ingressClassName=nginx \
136# # --set ingress.hosts={grafana.pcloud} \
137# # --set ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
138# # --set persistence.enabled=true \
139# # --set persistence.size=50Gi
140
141# helm install --create-namespace \
142# --namespace prometheus-system \
143# prometheus prometheus-community/kube-prometheus-stack \
144# --set alertmanager.ingress.enabled=true \
145# --set alertmanager.ingress.ingressClassName=nginx \
146# --set alertmanager.ingress.hosts={alertmanager.prometheus.pcloud} \
147# --set alertmanager.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
148# --set alertmanager.ingress.pathType=Prefix \
149# --set grafana.ingress.enabled=true \
150# --set grafana.ingress.ingressClassName=nginx \
151# --set grafana.ingress.hosts={grafana.prometheus.pcloud} \
152# --set grafana.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
153# --set grafana.ingress.pathType=Prefix \
154# --set prometheus.ingress.enabled=true \
155# --set prometheus.ingress.ingressClassName=nginx \
156# --set prometheus.ingress.hosts={prometheus.pcloud} \
157# --set prometheus.ingress.annotations."nginx\.ingress\.kubernetes\.io/ssl-redirect"="\"false\"" \
158# --set prometheus.ingress.pathType=Prefix
159
160# kubectl apply -f ../../apps/pihole/install.yaml
161helm upgrade --create-namespace \
162 --namespace pihole \
163 pihole mojo2600/pihole \
164 --set ingress.enabled=true \
165 --set ingress.hosts={"pihole.pcloud"} \
166 --set serviceDhcp.enabled=false \
167 --set serviceDns.type=LoadBalancer \
168 --set serviceWeb.type=ClusterIP \
169 --set serviceWeb.https.enabled=false \
170 --set virtualHost="pihole.pcloud"
171
172# kubectl apply -f cert-manager-webhook-gandi/rbac.yaml
173# helm upgrade --namespace cert-manager \
174# cert-manager-webhook-gandi ./cert-manager-webhook-gandi/deploy/cert-manager-webhook-gandi \
175# --set image.repository=giolekva/cert-manager-webhook-gandi \
176# --set image.tag=latest \
177# --set image.pullPolicy=Always \
178# --set logLevel=2
179
180# kubectl apply -f cluster-issuer.yaml
giolekva24f64052021-07-26 16:09:43 +0400181
182kubectl apply -f ../../apps/maddy/install.yaml
183kubectl apply -f maddy-config.yaml