All Projects → rgl → k3s-vagrant

rgl / k3s-vagrant

Licence: other
k3s k8s cluster playground

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to k3s-vagrant

firework8s
Firework8s is a collection of kubernetes objects (yaml files) for deploying workloads in a home lab.
Stars: ✭ 35 (-10.26%)
Mutual labels:  k8s, k3s
paas-templates
Bosh, CFAR, CFCR and OSB services templates for use with COA (cf-ops-automation) framework
Stars: ✭ 16 (-58.97%)
Mutual labels:  k8s, k3s
K3sup
bootstrap Kubernetes with k3s over SSH < 1 min 🚀
Stars: ✭ 4,012 (+10187.18%)
Mutual labels:  k8s, k3s
gitops-playground
Reproducible infrastructure to showcase GitOps workflows and evaluate different GitOps Operators on Kubernetes
Stars: ✭ 77 (+97.44%)
Mutual labels:  k8s, k3s
kubernetes-marketplace
Marketplace of Kubernetes applications available for quick and easy installation in to Civo Kubernetes clusters
Stars: ✭ 136 (+248.72%)
Mutual labels:  k8s, k3s
vcluster
vcluster - Create fully functional virtual Kubernetes clusters - Each vcluster runs inside a namespace of the underlying k8s cluster. It's cheaper than creating separate full-blown clusters and it offers better multi-tenancy and isolation than regular namespaces.
Stars: ✭ 1,360 (+3387.18%)
Mutual labels:  k8s, k3s
Arkade
Open Source Kubernetes Marketplace
Stars: ✭ 2,343 (+5907.69%)
Mutual labels:  k8s, k3s
galaxykube
PolarDB-X Operator is a Kubernetes extension that aims to create and manage PolarDB-X cluster on Kubernetes.
Stars: ✭ 65 (+66.67%)
Mutual labels:  k8s
kotary
Managing Kubernetes Quota with confidence
Stars: ✭ 85 (+117.95%)
Mutual labels:  k8s
helm-schema-gen
So that you don't have to write values.schema.json by hand from scratch for your Helm 3 charts. [CURRENTLY NOT MAINTAINED]
Stars: ✭ 104 (+166.67%)
Mutual labels:  k8s
actions
Set of actions for implementing CI/CD with werf and GitHub Actions
Stars: ✭ 67 (+71.79%)
Mutual labels:  k8s
k8s-mutate-webhook
A playground to build a very crude k8s mutating webhook in Go
Stars: ✭ 55 (+41.03%)
Mutual labels:  k8s
minio
Minio Object Storage in Kubernetes, used by Deis Workflow.
Stars: ✭ 51 (+30.77%)
Mutual labels:  k8s
infinispan-operator
Infinispan Operator
Stars: ✭ 32 (-17.95%)
Mutual labels:  k8s
aegir
Validation Webhook for Kubernetes based on LIVR rules (https://livr-spec.org)
Stars: ✭ 50 (+28.21%)
Mutual labels:  k8s
kubeswitch
visually select kubernetes context/namespace from tree
Stars: ✭ 15 (-61.54%)
Mutual labels:  k8s
charts
Helm charts for creating reproducible and maintainable deployments of Polyaxon with Kubernetes.
Stars: ✭ 32 (-17.95%)
Mutual labels:  k8s
k8s-deployer
Deploy Kubernetes service and store retrieved information in the Consul K/V store
Stars: ✭ 23 (-41.03%)
Mutual labels:  k8s
vault-sidecar-injector
Kubernetes admission webhook for secure, seamless and dynamic handling of secrets in your applications
Stars: ✭ 55 (+41.03%)
Mutual labels:  k8s
kube-watch
Simple tool to get webhooks on Kubernetes cluster events
Stars: ✭ 21 (-46.15%)
Mutual labels:  k8s

About

This is a k3s kubernetes cluster playground wrapped in a Vagrant environment.

NB The vxlan flannel backend seems to be broken in Debian 11.

Usage

Configure your hosts file with:

10.11.0.101 s1.example.test
10.11.0.101 traefik.example.test
10.11.0.101 kubernetes-dashboard.example.test

Install the base Debian 11 (Bullseye) vagrant box.

Install the required vagrant plugins:

# see https://github.com/hashicorp/vagrant/issues/12445#issuecomment-876566065
export CFLAGS='-I/opt/vagrant/embedded/include/ruby-3.0.0/ruby'
vagrant plugin install vagrant-hosts

Optionally, start the rgl/gitlab-vagrant environment at ../gitlab-vagrant. If you do this, this environment will have the gitlab-runner helm chart installed in the k8s cluster.

Launch the environment:

time vagrant up --no-destroy-on-error --no-tty --provider=libvirt # or --provider=virtualbox

NB The server nodes (e.g. s1) are tainted to prevent them from executing non control-plane workloads. That kind of workload is executed in the agent nodes (e.g. a1).

Traefik Dashboard

Access the Traefik Dashboard at:

http://traefik.example.test/dashboard/

Rancher Server

Access the Rancher Server at:

https://s1.example.test:6443

NB This is a proxy to the k8s API server (which is running in port 6444).

NB You must use the client certificate that is inside the tmp/admin.conf, tmp/*.pem, or /etc/rancher/k3s/k3s.yaml (inside the s1 machine) file.

Access the rancher server using the client certificate with httpie:

http \
    --verify tmp/default-ca-crt.pem \
    --cert tmp/default-crt.pem \
    --cert-key tmp/default-key.pem \
    https://s1.example.test:6443

Or with curl:

curl \
    --cacert tmp/default-ca-crt.pem \
    --cert tmp/default-crt.pem \
    --key tmp/default-key.pem \
    https://s1.example.test:6443

Kubernetes Dashboard

Access the Kubernetes Dashboard at:

https://kubernetes-dashboard.example.test

Then select Token and use the contents of tmp/admin-token.txt as the token.

You can also launch the kubernetes API server proxy in background:

export KUBECONFIG=$PWD/tmp/admin.conf
kubectl proxy &

And access the kubernetes dashboard at:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

K9s Dashboard

The K9s console UI dashboard is also installed in the server node. You can access it by running:

vagrant ssh s1
sudo su -l
k9s

Notes

  • k3s has a custom k8s authenticator module that does user authentication from /var/lib/rancher/k3s/server/cred/passwd.

Reference

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].