diff --git a/kubernetes/Makefile b/kubernetes/Makefile index d2061ece..3d33dee4 100644 --- a/kubernetes/Makefile +++ b/kubernetes/Makefile @@ -6,10 +6,6 @@ prepare: @mkdir -p output sed -e "s@__DOMAIN_NAME__@$(DOMAIN_NAME)@g;s@__DOMAIN_NAME_DASHED__@$(DOMAIN_NAME_DASHED)@g" *.yaml > output/mirotalk-k8s.yaml -prepare-minikube: - @mkdir -p output - sed -e "s@__DOMAIN_NAME__@$(DOMAIN_NAME)@g;s@__DOMAIN_NAME_DASHED__@$(DOMAIN_NAME_DASHED)@g" minikube/*.yaml > output/mirotalk-k8s.yaml - deploy: kubectl delete configmap p2p || echo "ignore error" kubectl create configmap p2p --from-file=.env=env.txt @@ -21,5 +17,9 @@ env.txt: uninstall: kubectl delete configmap p2p || : kubectl delete -f output/mirotalk-k8s.yaml + +delete: + kubectl delete configmap p2p || : + kubectl delete -f output/mirotalk-k8s.yaml rm -rf env.txt output \ No newline at end of file diff --git a/kubernetes/README.md b/kubernetes/README.md index 758a87de..681e0780 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -22,7 +22,10 @@ you should copy `../.env.template` to current directory as `env.txt` and edit va ``` cp ../.env.template env.txt ``` -Change values (if nothing else **HOST** variable must be changed so your ingress would recognize it and work as) + +Change values (if nothing else **HOST** variable must be changed so your ingress would recognize it and send requests to your deployed application), +if you do not have public domain you can use free service called [nip.io](https://nip.io/) with domain like `p2p.192-168-1-1.nip.io` (or [sslip.io](https://sslip.io/)) + ``` sed -i s/localhost/myshinydomain.tld/g env.txt ``` @@ -54,19 +57,4 @@ make prepare make deploy ``` -# MiniKube considerations -``` -minikube start -minikube addons enable ingress -minikube ip -make -sed -i "s/localhost/p2p.$(minikube ip|sed -e 's/[.]/-/g').nip.io/g" env.txt -make prepare-minikube -make deploy -echo "You should be able to open $(echo https://p2p.$(minikube ip|sed -e 's/[.]/-/g').nip.io)` in your browser" -``` -You should be able to open `p2p.$(minikube ip|sed -e 's/[.]/-/g').nip.io` - if as for me this does not work 100% of times in that case: - -So it is "working for you", as for me it is "meh almost works" - diff --git a/kubernetes/minikube/p2p-deployment.yaml b/kubernetes/minikube/p2p-deployment.yaml deleted file mode 100644 index ac7e5db0..00000000 --- a/kubernetes/minikube/p2p-deployment.yaml +++ /dev/null @@ -1,35 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - app: p2p - name: p2p -spec: - replicas: 1 - selector: - matchLabels: - app: p2p - strategy: {} - template: - metadata: - labels: - app: p2p - spec: - containers: - - image: mirotalk/p2p:latest - name: mirotalk - ports: - - containerPort: 3000 - volumeMounts: - - name: p2p-env - mountPath: /src/.env - subPath: .env - resources: {} - volumes: - - name: p2p-env - configMap: - name: p2p - defaultMode: 0644 - restartPolicy: Always -status: {} diff --git a/kubernetes/minikube/p2p-ingress.yaml b/kubernetes/minikube/p2p-ingress.yaml deleted file mode 100644 index 84195398..00000000 --- a/kubernetes/minikube/p2p-ingress.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: p2p-ingress -spec: - rules: - - host: __DOMAIN_NAME__ - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: p2p - port: - number: 3000 - ingressClassName: nginx diff --git a/kubernetes/minikube/p2p-service.yaml b/kubernetes/minikube/p2p-service.yaml deleted file mode 100644 index ba3e7601..00000000 --- a/kubernetes/minikube/p2p-service.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -apiVersion: v1 -kind: Service -metadata: - labels: - app: p2p - name: p2p -spec: - ports: - - port: 3000 - protocol: TCP - targetPort: 3000 - selector: - app: p2p - type: NodePort -status: diff --git a/kubernetes/p2p-cert.yaml b/kubernetes/p2p-cert.yaml index 6d02ed33..d00c3545 100644 --- a/kubernetes/p2p-cert.yaml +++ b/kubernetes/p2p-cert.yaml @@ -2,15 +2,14 @@ apiVersion: cert-manager.io/v1 kind: Certificate metadata: - name: __DOMAIN_NAME_DASHED__-tls + name: __DOMAIN_NAME_DASHED__-tls spec: - duration: 2880h # 180d - renewBefore: 360h # 15d - commonName: __DOMAIN_NAME__ - dnsNames: - - __DOMAIN_NAME__ - issuerRef: - kind: ClusterIssuer - name: letsencrypt - secretName: __DOMAIN_NAME_DASHED__-tls - + duration: 2880h # 180d + renewBefore: 360h # 15d + commonName: __DOMAIN_NAME__ + dnsNames: + - __DOMAIN_NAME__ + issuerRef: + kind: ClusterIssuer + name: letsencrypt + secretName: __DOMAIN_NAME_DASHED__-tls diff --git a/kubernetes/p2p-deployment.yaml b/kubernetes/p2p-deployment.yaml index ac7e5db0..6095db95 100644 --- a/kubernetes/p2p-deployment.yaml +++ b/kubernetes/p2p-deployment.yaml @@ -2,34 +2,34 @@ apiVersion: apps/v1 kind: Deployment metadata: - labels: - app: p2p - name: p2p -spec: - replicas: 1 - selector: - matchLabels: - app: p2p - strategy: {} - template: - metadata: - labels: + labels: app: p2p - spec: - containers: - - image: mirotalk/p2p:latest - name: mirotalk - ports: - - containerPort: 3000 - volumeMounts: - - name: p2p-env - mountPath: /src/.env - subPath: .env - resources: {} - volumes: - - name: p2p-env - configMap: - name: p2p - defaultMode: 0644 - restartPolicy: Always + name: p2p +spec: + replicas: 1 + selector: + matchLabels: + app: p2p + strategy: {} + template: + metadata: + labels: + app: p2p + spec: + containers: + - image: mirotalk/p2p:latest + name: mirotalk + ports: + - containerPort: 3000 + volumeMounts: + - name: p2p-env + mountPath: /src/.env + subPath: .env + resources: {} + volumes: + - name: p2p-env + configMap: + name: p2p + defaultMode: 0644 + restartPolicy: Always status: {} diff --git a/kubernetes/p2p-ingress.yaml b/kubernetes/p2p-ingress.yaml index 8ed35e81..1be0281d 100644 --- a/kubernetes/p2p-ingress.yaml +++ b/kubernetes/p2p-ingress.yaml @@ -2,26 +2,26 @@ apiVersion: v1 kind: List metadata: - resourceVersion: "" + resourceVersion: '' items: -- apiVersion: networking.k8s.io/v1 - kind: Ingress - metadata: - name: p2p-ingress - spec: - rules: - - host: __DOMAIN_NAME__ - http: - paths: - - backend: - service: - name: p2p - port: - number: 3000 - path: / - pathType: Prefix - tls: - - hosts: - - __DOMAIN_NAME__ - secretName: __DOMAIN_NAME_DASHED__-tls - status: + - apiVersion: networking.k8s.io/v1 + kind: Ingress + metadata: + name: p2p-ingress + spec: + rules: + - host: __DOMAIN_NAME__ + http: + paths: + - backend: + service: + name: p2p + port: + number: 3000 + path: / + pathType: Prefix + tls: + - hosts: + - __DOMAIN_NAME__ + secretName: __DOMAIN_NAME_DASHED__-tls + status: diff --git a/kubernetes/p2p-service.yaml b/kubernetes/p2p-service.yaml index d6308842..7d75a4fa 100644 --- a/kubernetes/p2p-service.yaml +++ b/kubernetes/p2p-service.yaml @@ -2,15 +2,15 @@ apiVersion: v1 kind: Service metadata: - labels: - app: p2p - name: p2p + labels: + app: p2p + name: p2p spec: - ports: - - name: "3000" - port: 3000 - targetPort: 3000 - selector: - app: p2p + ports: + - name: '3000' + port: 3000 + targetPort: 3000 + selector: + app: p2p status: - loadBalancer: {} + loadBalancer: {}