A Kubernates Cloud-Shell (Web Terminal) Operator.
English | Simplified_Chinese
Why cloudtty ?
Existing project ttyd
already provides great feature to share terminal over the web. But Kubernetes cloud native enviroment requires a way to run web-tty via kubernetes
way ( running as pod, and generated by CRD). So you can try cloudtty.
SPECIAL THANKS
This project is based on https://github.com/tsl0922/ttyd. Many thanks to tsl0922
yudai
and the community. The frontend UI code was originated from ttyd
project, and the ttyd binary inside the container also comes from ttyd
project.
Usage Guide
Step 1: Install Operator and CRD
helm repo add daocloud https://release.daocloud.io/chartrepo/cloudshell
helm install --version 0.0.2 daocloud/cloudshell --generate-name
Step 2: Create kube.conf configmap for target cluster (This step will be refined, when the target cluster is the same one this operators runs on)
kubectl create configmap my-kubeconfig --from-file=/root/.kube/config
# Be careful to ensure the /root/.kube/config:
# 1. contains the base64 encoded certs/secrets instead of local files.
# 2. the k8s api-server endpoint is reachable(host IP or cluster IP) instead of localhost
Step 3: Create a cloud-tty instance by applying CR, then monitor its status
kubectl apply -f ./config/samples/webtty_v1alpha1_cloudshell.yaml && kubectl get cloudshell -w
More will be coming Soon.