Linode's Kubernetes Engine lacks the ability to provision account SSH keys onto cluster Linode hosts. This automatically provisions keys on the underlying hosts in Kubernetes clusters.
Managed Kubernetes providers perform upgrades by deleting and recreating your VMs. You must not assume that anything you do on these VMs will persist. In fact, the VM could be deleted while you are working on it.
Kubernetes hosts are "cattle" not "pets", so anything manually created there will be lost.
The upstream project (asauber/dssh) puts this is the kube-system
namespace. This fork instead uses infrastructure
, as kube-system
should not be messed with,
much like John McAfee's dogs.
cp keys.yaml.example keys.yaml
# Edit keys.yaml to include your public keys
kubectl apply -f daemonset.yaml
kubectl apply -f keys.yaml
# Edit keys.yaml to update your public keys
kubectl apply -f keys.yaml
kubectl apply -f daemonset.yaml
kubectl delete daemonset -n infrastructure root-ssh-manager
- Every 60 seconds your public keys will be applied to all Nodes in the cluster.
- You need permission to deploy priviledged pods.