From: Dessalines Date: Sun, 4 Oct 2020 20:44:26 +0000 (-0500) Subject: Remove kubernetes. #842 X-Git-Url: http://these/git/%7BtotpUrl%7D?a=commitdiff_plain;h=9b69c446e2273b86920798255bdb394df2aa9cd5;p=lemmy.git Remove kubernetes. #842 --- diff --git a/README.md b/README.md index 53a47735..98b41295 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ Each Lemmy server can set its own moderation policy; appointing site-wide admins - Open source, [AGPL License](/LICENSE). - Self hostable, easy to deploy. - - Comes with [Docker](#docker), [Ansible](#ansible), [Kubernetes](#kubernetes). + - Comes with [Docker](#docker) and [Ansible](#ansible). - Clean, mobile-friendly interface. - Only a minimum of a username and password is required to sign up! - User avatar support. @@ -102,7 +102,6 @@ Each Lemmy server can set its own moderation policy; appointing site-wide admins - [Docker](https://dev.lemmy.ml/docs/administration_install_docker.html) - [Ansible](https://dev.lemmy.ml/docs/administration_install_ansible.html) -- [Kubernetes](https://dev.lemmy.ml/docs/administration_install_kubernetes.html) ## Lemmy Projects diff --git a/docker/k8s/db.yml b/docker/k8s/db.yml deleted file mode 100644 index 4b78a8c5..00000000 --- a/docker/k8s/db.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - lemmy.service: db - name: db -spec: - replicas: 1 - strategy: - type: Recreate - template: - metadata: - labels: - lemmy.service: db - spec: - containers: - - env: - - name: POSTGRES_DB - value: lemmy - - name: POSTGRES_PASSWORD - # example: very-good-password - value: CHANGE_ME - - name: POSTGRES_USER - value: lemmy - image: postgres:12-alpine - name: db - volumeMounts: - - mountPath: /var/lib/postgresql/data - name: db - restartPolicy: Always - volumes: - - name: db - persistentVolumeClaim: - claimName: db ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - lemmy.service: db - name: db -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 20Gi diff --git a/docker/k8s/lemmy.yml b/docker/k8s/lemmy.yml deleted file mode 100644 index 8e105d60..00000000 --- a/docker/k8s/lemmy.yml +++ /dev/null @@ -1,46 +0,0 @@ ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - lemmy.service: lemmy - name: lemmy -spec: - replicas: 1 - template: - metadata: - labels: - lemmy.service: lemmy - spec: - containers: - - env: - - name: LEMMY_DATABASE_URL - # example: 'postgres://lemmy:password@db:5432/lemmy' - value: CHANGE_ME - - name: LEMMY_HOSTNAME - # example: 'lemmy.example.com' - value: CHANGE_ME - - name: LEMMY_JWT_SECRET - # example: 'very-super-good-secret' - value: CHANGE_ME - - name: LEMMY_FRONT_END_DIR - value: /app/dist - image: dessalines/lemmy:v0.2.0.1 - name: lemmy - ports: - - containerPort: 8536 - restartPolicy: Always ---- -apiVersion: v1 -kind: Service -metadata: - labels: - lemmy.service: lemmy - name: lemmy -spec: - ports: - - name: "8536" - port: 8536 - targetPort: 8536 - selector: - lemmy.service: lemmy diff --git a/docker/k8s/pictshare.yml b/docker/k8s/pictshare.yml deleted file mode 100644 index 1209e83e..00000000 --- a/docker/k8s/pictshare.yml +++ /dev/null @@ -1,57 +0,0 @@ ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - lemmy.service: pictshare - name: pictshare -spec: - replicas: 1 - strategy: - type: Recreate - template: - metadata: - labels: - lemmy.service: pictshare - spec: - containers: - - image: hascheksolutions/pictshare:latest - name: pictshare - ports: - - containerPort: 80 - volumeMounts: - - mountPath: /usr/share/nginx/html/data - name: pictshare - restartPolicy: Always - volumes: - - name: pictshare - persistentVolumeClaim: - claimName: pictshare ---- -apiVersion: v1 -kind: Service -metadata: - labels: - lemmy.service: pictshare - name: pictshare -spec: - ports: - - name: "8537" - port: 8537 - targetPort: 80 - selector: - lemmy.service: pictshare -status: ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - labels: - lemmy.service: pictshare - name: pictshare -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 20Gi diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 020a9dc1..8392635b 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -8,7 +8,6 @@ - [Administration](administration.md) - [Install with Docker](administration_install_docker.md) - [Install with Ansible](administration_install_ansible.md) - - [Install with Kubernetes](administration_install_kubernetes.md) - [Configuration](administration_configuration.md) - [Backup and Restore](administration_backup_and_restore.md) - [Contributing](contributing.md) diff --git a/docs/src/about_features.md b/docs/src/about_features.md index 7c8d95a9..ebf712e5 100644 --- a/docs/src/about_features.md +++ b/docs/src/about_features.md @@ -2,7 +2,7 @@ - Open source, [AGPL License](/LICENSE). - Self hostable, easy to deploy. - - Comes with [Docker](#docker), [Ansible](#ansible), [Kubernetes](#kubernetes). + - Comes with [Docker](#docker) and [Ansible](#ansible). - Clean, mobile-friendly interface. - Only a minimum of a username and password is required to sign up! - User avatar support. diff --git a/docs/src/administration_install_kubernetes.md b/docs/src/administration_install_kubernetes.md deleted file mode 100644 index 729cb155..00000000 --- a/docs/src/administration_install_kubernetes.md +++ /dev/null @@ -1,24 +0,0 @@ -# Kubernetes Installation - -You'll need to have an existing Kubernetes cluster and [storage class](https://kubernetes.io/docs/concepts/storage/storage-classes/). -Setting this up will vary depending on your provider. -To try it locally, you can use [MicroK8s](https://microk8s.io/) or [Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/). - -Once you have a working cluster, edit the environment variables and volume sizes in `docker/k8s/*.yml`. -You may also want to change the service types to use `LoadBalancer`s depending on where you're running your cluster (add `type: LoadBalancer` to `ports)`, or `NodePort`s. -By default they will use `ClusterIP`s, which will allow access only within the cluster. See the [docs](https://kubernetes.io/docs/concepts/services-networking/service/) for more on networking in Kubernetes. - -**Important** Running a database in Kubernetes will work, but is generally not recommended. -If you're deploying on any of the common cloud providers, you should consider using their managed database service instead (RDS, Cloud SQL, Azure Databse, etc.). - -Now you can deploy: - -```bash -# Add `-n foo` if you want to deploy into a specific namespace `foo`; -# otherwise your resources will be created in the `default` namespace. -kubectl apply -f docker/k8s/db.yml -kubectl apply -f docker/k8s/pictshare.yml -kubectl apply -f docker/k8s/lemmy.yml -``` - -If you used a `LoadBalancer`, you should see it in your cloud provider's console.