Merge pull request #1172 from LemmyNet/remove_kubernetes

Remove kubernetes. #842
This commit is contained in:
Nutomic 2020-10-05 15:38:51 +00:00 committed by GitHub
commit 4a925c9e9f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 2 additions and 179 deletions

View File

@ -65,7 +65,7 @@ Each Lemmy server can set its own moderation policy; appointing site-wide admins
- Open source, [AGPL License](/LICENSE). - Open source, [AGPL License](/LICENSE).
- Self hostable, easy to deploy. - Self hostable, easy to deploy.
- Comes with [Docker](#docker), [Ansible](#ansible), [Kubernetes](#kubernetes). - Comes with [Docker](#docker) and [Ansible](#ansible).
- Clean, mobile-friendly interface. - Clean, mobile-friendly interface.
- Only a minimum of a username and password is required to sign up! - Only a minimum of a username and password is required to sign up!
- User avatar support. - 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) - [Docker](https://dev.lemmy.ml/docs/administration_install_docker.html)
- [Ansible](https://dev.lemmy.ml/docs/administration_install_ansible.html) - [Ansible](https://dev.lemmy.ml/docs/administration_install_ansible.html)
- [Kubernetes](https://dev.lemmy.ml/docs/administration_install_kubernetes.html)
## Lemmy Projects ## Lemmy Projects

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -8,7 +8,6 @@
- [Administration](administration.md) - [Administration](administration.md)
- [Install with Docker](administration_install_docker.md) - [Install with Docker](administration_install_docker.md)
- [Install with Ansible](administration_install_ansible.md) - [Install with Ansible](administration_install_ansible.md)
- [Install with Kubernetes](administration_install_kubernetes.md)
- [Configuration](administration_configuration.md) - [Configuration](administration_configuration.md)
- [Backup and Restore](administration_backup_and_restore.md) - [Backup and Restore](administration_backup_and_restore.md)
- [Contributing](contributing.md) - [Contributing](contributing.md)

View File

@ -2,7 +2,7 @@
- Open source, [AGPL License](/LICENSE). - Open source, [AGPL License](/LICENSE).
- Self hostable, easy to deploy. - Self hostable, easy to deploy.
- Comes with [Docker](#docker), [Ansible](#ansible), [Kubernetes](#kubernetes). - Comes with [Docker](#docker) and [Ansible](#ansible).
- Clean, mobile-friendly interface. - Clean, mobile-friendly interface.
- Only a minimum of a username and password is required to sign up! - Only a minimum of a username and password is required to sign up!
- User avatar support. - User avatar support.

View File

@ -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.