- packer
- vagrant
- virtualbox
packer build k3os.jsonvagrant up
sbin/generate-instance-list.sh -n mak3r-rancher-training-k3s > instance-ids.jsonsbin/ssh-connect.sh -i 0 -k ~/.ssh/mak3r-private.pem -s| #!/bin/bash | |
| # Usage: ./get_kubeconfig_custom_cluster_rancher2.sh cluster_name | |
| # Needs to be run on the server running `rancher/rancher` container | |
| # Check if jq exists | |
| command -v jq >/dev/null 2>&1 || { echo "jq is not installed. Exiting." >&2; exit 1; } | |
| # Check if clustername is given | |
| if [ -z "$1" ]; then | |
| echo "Usage: $0 [clustername]" |
| #!/bin/bash | |
| echo "This will generate a new kube config for accessing your RKE-created kubernetes cluster. This script MUST be run on a Kubernetes node." | |
| echo "Please enter the IP of one of your control plane hosts, followed by [ENTER]:" | |
| read cphost | |
| openssl genrsa -out kube-admin.key 2048 | |
| openssl req -new -sha256 -key kube-admin.key -subj "/O=system:masters/CN=kube-admin" -out kube-admin.csr | |
| sudo openssl x509 -req -in kube-admin.csr -CA /etc/kubernetes/ssl/kube-ca.pem -CAcreateserial -CAkey /etc/kubernetes/ssl/kube-ca-key.pem -out kube-admin.crt -days 365 -sha256 | |
| sudo rm -f /etc/kubernetes/ssl/kube-ca.srl |
Generate the kubeconfig file for your cluster using the Kubeconfig File button in the Cluster view of your cluster.
Save the generated file as $HOME/.kube/config and run kubectl get nodes to verify it works.
| #!/bin/bash | |
| set -e | |
| set -o pipefail | |
| # Add user to k8s using service account, no RBAC (must create RBAC after this script) | |
| if [[ -z "$1" ]] || [[ -z "$2" ]]; then | |
| echo "usage: $0 <service_account_name> <namespace>" | |
| exit 1 | |
| fi |
| docker run \ | |
| --name={{.Name}} \ | |
| {{range $e := .Config.Env}}--env={{printf "%q" $e}} \ | |
| {{end}}{{range $p, $conf := .NetworkSettings.Ports}}{{with $conf}}-p {{(index $conf 0).HostIp}}:{{(index $conf 0).HostPort}}:{{$p}} \ | |
| {{end}}{{end}}{{range $n, $conf := .NetworkSettings.Networks}}{{with $conf}}--network {{printf "%q" $n}} \ | |
| {{range $conf.Aliases}}--network-alias {{printf "%q" .}} {{end}} \ | |
| {{end}}{{end}}{{range $v := .HostConfig.VolumesFrom}}--volumes-from={{printf "%q" .}} \ | |
| {{end}}{{range $v := .HostConfig.Binds}}--volume={{printf "%q" .}} \ | |
| {{end}}{{range $l, $v := .Config.Labels}}--label {{printf "%q" $l}}={{printf "%q" $v}} \ | |
| {{end}}{{range $v := .HostConfig.CapAdd}}--cap-add {{printf "%q" .}} \ |