Skip to content

Instantly share code, notes, and snippets.

View JasonvanBrackel's full-sized avatar

Jason L. van Brackel JasonvanBrackel

View GitHub Profile
@JasonvanBrackel
JasonvanBrackel / K3os-packer-vagrant-virtualbox.md
Created July 11, 2019 19:50 — forked from mak3r/K3os-packer-vagrant-virtualbox.md
Build and run k3os using packer, vagrant and virtualbox

Packer and Vagrant resources to build k3os in VirtualBox

Requirements

  • packer
  • vagrant
  • virtualbox

Build and Run

  1. packer build k3os.json
  2. vagrant up
@JasonvanBrackel
JasonvanBrackel / k3s-training.md
Created July 11, 2019 15:23 — forked from mak3r/k3s-training.md
Process notes for k3s online training

Prep

  1. Generate a list of instances
  • sbin/generate-instance-list.sh -n mak3r-rancher-training-k3s > instance-ids.json
  • use a script to connect to those instances by list id
    • sbin/ssh-connect.sh -i 0 -k ~/.ssh/mak3r-private.pem -s
  1. Get the cloud server public IP address and replace throughout the script
  2. Prepare a local RPi server

@JasonvanBrackel
JasonvanBrackel / rancher_v220_etcd_maintenance.md
Created May 31, 2019 19:32 — forked from superseb/rancher_v220_etcd_maintenance.md
Rancher v2.2.0 single install etcd maintenance

Rancher v2.2.0 single install embedded etcd maintenance

This is not official documentation, have/make backups, use at your own risk.

v2.2.0 only

When etcd db size exceeds quota, it will raise an alarm and throw the error mvcc: database space exceeded.

To manually trigger this situation:

@JasonvanBrackel
JasonvanBrackel / get_kubeconfig_custom_cluster_rancher2.sh
Created January 8, 2019 16:55 — forked from superseb/get_kubeconfig_custom_cluster_rancher2.sh
Get kubeconfig for custom cluster in Rancher 2.0/2.1
#!/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]"
@JasonvanBrackel
JasonvanBrackel / generate_new_kubeconfig.sh
Created December 26, 2018 12:54 — forked from Oats87/generate_new_kubeconfig.sh
This bash script will sign an x509 certificate using the kube-ca located on any rancher node. This allows you to gain access back to your RKE-created kubernetes cluster should you lose the kube_config and cluster.yml for it, but still have SSH access to the hosts.
#!/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
@JasonvanBrackel
JasonvanBrackel / README.md
Created August 28, 2018 14:24 — forked from superseb/README.md
Deploy kubernetes-dashboard on Rancher 2.0 cluster exposed using NodePort

Deploy kubernetes-dashboard on Rancher 2.0 cluster exposed using NodePort

Requirements

Step 1: Generate kubeconfig from the UI

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.

@JasonvanBrackel
JasonvanBrackel / kubernetes_add_service_account_kubeconfig.sh
Created August 24, 2018 13:50 — forked from innovia/kubernetes_add_service_account_kubeconfig.sh
Create a service account and generate a kubeconfig file for it - this will also set the default namespace for the user
#!/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
@JasonvanBrackel
JasonvanBrackel / run.tpl
Last active September 7, 2018 21:35 — forked from efrecon/run.tpl
`docker inspect` template to regenerate the `docker run` command for rancher hyperkube-backed containers
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" .}} \