Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kubernetes config #15

Closed
fire opened this issue Feb 19, 2017 · 7 comments
Closed

Kubernetes config #15

fire opened this issue Feb 19, 2017 · 7 comments

Comments

@fire
Copy link

fire commented Feb 19, 2017

Tested on Google container engine. Supports Postgresql, but you'll have to setup another Statefulset for that.

apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: quassel
spec:
  serviceName: "quassel"
  replicas: 1
  template:
    metadata:
      labels:
        app: quassel
      annotations:
    spec:
      containers:
      - name: quassel
        image: linuxserver/quassel-core
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 4242
          name: quassel
        livenessProbe:
          tcpSocket:
            port: 4242
          initialDelaySeconds: 180
        readinessProbe:
          tcpSocket:
            port: 4242
          initialDelaySeconds: 10
        volumeMounts:
        - name: configdir
          mountPath: /config
      # No pre-stop hook is required, a SIGTERM plus some time is all that's
      # needed for graceful shutdown of a node.
      terminationGracePeriodSeconds: 60
      volumes:
      - name: configdir
        persistentVolumeClaim:
          claimName: configdir
  volumeClaimTemplates:
  - metadata:
      name: configdir
      annotations:
        volume.alpha.kubernetes.io/storage-class: anything
    spec:
      accessModes:
        - "ReadWriteOnce"
      resources:
        requests:
          storage: 1Gi
---
apiVersion: v1
kind: Service
metadata:
  # This service is meant to be used by clients of quassel.
  name: quassel-public
  labels:
    app: quassel
spec:
  ports:
  # Quassel Client
  - port: 4242
    targetPort: 4242
    name: quassel
  selector:
    app: quassel
  type: LoadBalancer
@fire
Copy link
Author

fire commented Feb 19, 2017

Probably want to change the total storage size, but it doesn't matter for me.

@tobbenb
Copy link
Member

tobbenb commented Feb 19, 2017

What is the issue?

@fire
Copy link
Author

fire commented Feb 19, 2017

Oh this is a setup file to run the docker image on kubernetes. I didn't feel like making a pull request. :)

@sparklyballs
Copy link
Contributor

not exactly user friendly is it ?

@CHBMB
Copy link
Member

CHBMB commented Feb 19, 2017

So, I'm confused. You're using this issue as a storage for your kubernetes setup? Or you want us to integrate it somewhere?

@fire
Copy link
Author

fire commented Feb 19, 2017

This is a yaml file to setup this docker image onto kubernetes. You can choose the amount of storage to give to the config folder.

1GB is low for a sqlite database.

The idea is this config is copied to a yaml file. Import it and you get a quassel server. To use it, log into the ip:port.

Tried this on the google cloud - google container engine.

I posted this for other people who wanted to use kubernetes.

It is equivalent to:

docker create \
    --name=quassel \
    -v <path to data>:/config \
    -p 4242:4242 \
    linuxserver/quassel-core

Except it'll automatically migrate from broken machines, restart if it hangs and use the kubernetes cluster's persistent storage to store configuration data (aka logs).

@tobbenb
Copy link
Member

tobbenb commented Feb 20, 2017

I'm closing this as it's not an issue.

@tobbenb tobbenb closed this as completed Feb 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants