Skip to content

CJLove/kubernetes-services

Repository files navigation

Kubernetes

Manifests for deploying things on Kubernetes. I run a single-node K8S cluster on my home Linux box (Fedora 28 as of this writing), configured via kubeadm. This cluster is only accessible privately, so certain things aren't hardened as much as they could be.

Foswiki

The actual wiki data is passed in as a volume from the host. The foswiki service uses NodePort 30000 and everything is deployed in the foswiki namespace. This now uses the following Foswiki docker image: https://hub.docker.com/r/timlegge/docker-foswiki. Note: Foswiki loses configuration state over pod restarts,

# kubectl create -f foswiki.yaml

wiki.js version 1

Experimental deployment of https:///wiki.js.org/ version 1.x. This uses NodePort 30005 for web access. Everything is deployed in the wiki-js namespace.

# kubectl apply -f wiki-js.yaml

wiki.js version 2

Experimental deployment of https://wiki.js.org/ version 2.x (waiting for the beta release). This uses NodePort 3006 for web access. Everything is deployed in the wiki-js2 namespace.

# kubectl apply -f wiki-js2.yaml

OpenGrok

This uses the OpenGrok image from https://hub.docker.com/r/opengrok/docker/. The opengrok service uses NodePort 30001 for web access, NodePort 30002 for ssh and everything is deployed in the opengrok namespace. Regular reindixing is disabled, so a cron job is need to exec into the container.

# kubectl create -f opengrok.yaml

Service Account and Role Binding

Yaml for creating an admin-user service account, a cluster role binding granting that service account user cluster admin rights, and a shell script for retrieving a token for that user that can be used to login to the K8S dashboard.

# kubectl create -f serviceAccount.yaml
# kubectl create -f clusterRoleBinding.yaml

To get a token:

# dashboard.sh

About

Manifests for deploying things on Kubernetes

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages