看到這篇:Running the OpenShift console in plain Kubernetes
剛好手頭上有 microk8s ,就裝來試試看。
環境
使用 Ubuntu 22.04
步驟
先安裝 nodejs 16,注意,17 以後的版本因為用了 OpenSSL3 ,所以編譯過程會有錯誤。
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
取得 web console 原始碼
git clone https://github.com/openshift/console.git
進入 console 資料夾,進行編譯
./build.sh
再來是啟動
先檢查 default 這個 service account 有沒有 token,這個 service account 是在 kube-system 這個 namespace 裡。
kubectl get serviceaccount default --namespace=kube-system -o jsonpath='{.secrets[0].name}'
如果沒有,就建立 token
kubectl create token default -n kube-system
複製輸出結果,然後建立 secret
kubectl create secret generic default-token-0621 --from-literal=token=<前面的輸出結果>
好了以後,編輯 service account
kubectl edit secret default-token-0621 -n kube-system
在 yaml 裡加入 secrets
apiVersion: v1
kind: ServiceAccount
metadata:
name: default
namespace: kube-system
secrets:
- name: default-token-0621
給權限
kubectl create clusterrolebinding default-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:default
最後要啟動了,因為我是用 microk8s ,先取得 kubeconfig
microk8s config > ~/.kube/config
export KUBECONFIG=~/.kube/config
source ./contrib/environment.sh
./bin/bridge
預設會啟動在 :9000
沒有留言:
張貼留言