OkieOth / kubectl.ssh.example

A simple example of a Kubernetes pod that allows ssh access and provides a kubectl command

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TL;DR;

Create a cluster with a maintenance pod that contains kubectl and an sshd

Requirements

  • docker
  • k3d
  • local kubectl installed

Usage

# create a docker image
./buildDockerImage.sh

# test docker image
docker run --rm -t -e USER_NAME=kubeadmin -e PUBLIC_KEY_DIR=/ssh \
    -e PUBKEY_01="c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FDZFZpTkM5aVdMZHN5a2xJRnJOVldBZlJHbzBxdlVVNHp0NEpPUGFmVzMyQzZFR1FscGtPdzd4YjY3c3FqMktSVHVQOEhyZmtxdmdpcTZsdUxVYTJ1ZjZoK1FmcEZ2aW5UNzJZbHh5bU1xeU9hQU9wZ2k4ZWp6ZldxdFRySTlmWUM3RzNuNVBwU201VkJOWDRuQVdDYzNUY0hNN0tMYWVYVUlBa1ZyMmhNM3ZOZVNWT3R2ZU9VbTJzdnVNQUR5S0FqVzBQZVEwQllpdms5bE5CTUFLeERGQ1ZsR0JuTmRBdzNwQ0cwdGpXY3MrMDhJNUVzekJpbW5iL243b3ZEbjQ3WGFYK3JXakhlUWh4bFFwSHV0My9TWGJHYVV5bmI0Z2pOeE1KeTZISGI3OTFld2V1MHpFdHp4a2hvWTdCNVFyYXRKY0t6NDdtVStQMVQ4ckFEUjU0YlQ5OUFCQ0JHM05nM2txK1BGaWdET09IazNKUDB4WlVzbEdTUVJIVDVYNmw1cFZFQk51clIrWld0cWxVelduQkkvVW9PL3hicVVGemRIKzYyNk1lSWpTQkRzS1RPZzVmUnBFMHJsa3JwMFZZUnhreEhZMXdoclYwUXRUNDA2cm5XMGQ5bWF5MXRpTTRMR0s2a2V4NG1PY0MwUU8wUzV1bStkdmNtK3lVZDBzeGM9IGVpa29ARWlrbwo=" \
    -e PUBKEY_02="c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FEUTJyeWxieVRzbWxSWDArMk1wK05saW5QY3NGb0hPN1QyL0pWL2pBQkF1bW05RWE4TnBrNjAwcHR1Qm1IbGF2Y1dlYjVzUm0xbjRJMEpSNXJWUVFIZ0YyTld2SVM3R2M4bitISnBzUHBJNUlHdWQ3clBrN2xsTHVRQW5ObmlCSC85bkRhdHl2ZmtaVWtqNUpzSXNiTnVKUFQvbmVEU1l1M2ZQZzRrS3hJWFRIMUhndWsyZ3FxN2ZlOFd5THNwaW5XZ2ZDUDliUTQraDRyUlZucW9seDBQUmdleFZCZlhBZWF0TFRjYjFyKzh2MHlIZkowQ2h6Q0RFM1JjSDl2YUZpa3hTS2IrTmF1YnNldDhERHpFdm1IUjlSRUtMY3d2bHJ5bldKSjVOSm1uNU9TTU5tWkhTVHBlQldXT3NIWVVRcHFKODFVTmg2ZEhhVzMrYktXY0tnVGNpOVNrWXZBM1NiclVwNHZtblZncEV5QkZPeDZ5aEZmOG1PNWpFOXhucTVkS1JXVzkwMVJqbE5DOXdxYzhLMS9hZzJPVWtGd056M28zdkZQL2JkaEk2TkpBeG5QTVFHcWZHNDhLWVNBSmVLZ01oL1FUMDVvZ3dWbnFiOENIaDVydWFsZ3VLRnFxV09FMXFmSUd6YldOMmJLbTdZckFGVllQeWJUSmZkZWpaT1U9IGVpa29ARWlrbwo=" \
    -e PUBKEY_03="c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCZ1FET2FuRlIrR1ZMdnZIOXZTZUlIWkNnODN0Wk9Ub1VNeER1WnIvWlBsWWtaTmlmRUVkL0xyc09MZFJVL3h4d2ZYYnc3NWZDU2U4alU1WWFudWRYL3dyU0RkODhZdFN0MnhpWjBjVnJuVjBPMG45Vit5dExzSGdTUWs3Y3QzL0QyRWZEd2d6eVI5NWQ2S1VlUGYxbkdmbjRTR1JORFRVSU52VG0xVUtnb1duVExXVjVSQ1Y1VVFtbHA2eDdTWDFNZ3pxT1ZXeGVVcDZndTF4Y210N0R3WkREQnBBYXY5U1VrN3JFNlJRVWh5NG1TVkpWK3JMeWRzR3htaDZNeXYrZTk3YS9qampoYXRNMWtpdU1raCtNMmI3dFNyOXo0NmFFbTIxZEpSVTVVaklIWDdtbU85a2VSRDBPUXN5NklyZVI1SjQ3S0VBTlF3bUJYZXJmKyt6cjdJZDNPT0NjMlB3azVkWVpqRHdjcmk2ZGErSUlQVlRmaXlxTkdnemZKQ21RYWVacUliOTFNNlIwSXRxcnNqZ3BST0ZrbW5yMFNpQnowM3VNc2F3ditqWTQ3eS81Zzg2RnJyV2RBVTVZekdDZ2R5bXFxSWlILzNtZ2p6RUhDRDhqdk9vYnhMM2ZrU041dXFENmNLTlpzR21ub2JaTkZUdlZ4Vnp3TE0xeFZLT1dSUTg9IGVpa29ARWlrbwo=" \
    ghcr.io/okieoth/kubectl:0.1.0

# import the created image into the cluster
# create cluster with 3 agents
k3d cluster create k3d.eiko.01 --agents 3

k3d image import ghcr.io/okieoth/kubectl:0.1.0 -c k3d.eiko.01

helm install kubectl ./helm

Documentation

About

A simple example of a Kubernetes pod that allows ssh access and provides a kubectl command

License:Apache License 2.0


Languages

Language:Smarty 41.6%Language:Shell 31.9%Language:Dockerfile 26.5%