This repo is to create rancher and add kind (Kubernetes IN Docker) into Rancher automatically with all-in-one script
- Create Rancher UI
- create Kind Kubernetes cluster
- Init rancher admin’s password
- update server url in rancher
- import kind cluster into rancher
Rancher API keeps changing, currently we hard code the rancher version to version "v2.6.2"
- Make sure you have installed Kind (kubernetes in docker) locally.
The installation instruction is here: https://kind.sigs.k8s.io/docs/user/quick-start/
- Adjust docker engine memory
Default docker engine is set to use 2GB runtime memory, adjust it to 8GB+ if you can.
- review
kind.yaml
Currently I only set one worker node, you can add more if you need.
$ cat kind.yaml.template
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
extraMounts:
- hostPath: ./data
containerPath: /data
- role: worker
extraMounts:
- hostPath: ./data
containerPath: /data
- role: worker
extraMounts:
- hostPath: ./data
containerPath: /data
with this way, you can share the local directoy ./data
to all nodes as persistent volume.
$ ./rkind.sh
Usage: ./rkind.sh [FLAGS] [ACTIONS]
FLAGS:
-h | --help | --usage displays usage
-q | --quiet enabled quiet mode, no output except errors
--debug enables debug mode, ignores quiet mode
ACTIONS:
create create new Rancher & Kind cluster
destroy destroy Rancher & Kind cluster created by this script
Examples:
$ ./rkind.sh create
$ ./rkind.sh destroy
Update kind (kuberentes in docker) configuration in local kind.yaml (https://kind.sigs.k8s.io/)
$ ./rkind.sh create
$ ./rkind.sh --destroy
If you'd like to change the kind configuration, please update file kind.yaml. For details, go through https://kind.sigs.k8s.io/