安裝kubeapps
執行以下命令安裝
sudo curl -L https://github.com/kubeapps/installer/releases/download/v0.0.2/kubeapps-linux-amd64 -o /usr/local/bin/kubeapps && sudo chmod +x /usr/local/bin/kubeapps
部署kubeapps
如果能夠訪問外部的網絡,執行下面命令
kubeapps up
離線環境,首先下載所需的鏡像
kubeapps up --dry-run -o yaml > kubeapps.yaml
cat kubeapps.yaml | grep image:
下載完鏡像後,替換鏡像拉取策略
sed -i 's#Always#IfNotPresent#g' kubeapps.yaml
建立存儲塊給kubeapps使用,實際存儲依賴k8s的使用環境,我是使用ceph rbd存儲。
rbd-default-storageclass.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: default-sc
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
provisioner: kubernetes.io/rbd
parameters:
monitors: 192.168.122.120:6789,192.168.122.121:6789,192.168.122.122:6789
adminId: admin
adminSecretName: ceph-secret
adminSecretNamespace: kubeapps
pool: ssd-pool
userId: admin
userSecretName: ceph-secret-user
fsType: ext4
imageFormat: "2"
imageFeatures: "layering"
rbd-pv-8g.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: rbdpv8g
spec:
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
storageClassName: default-sc
rbd:
monitors:
- '192.168.122.120:6789,192.168.122.121:6789,192.168.122.122:6789'
pool: ssd-pool
image: rbdpd8
fsType: ext4
readOnly: false
user: admin
keyring: /etc/ceph/ceph.client.admin.keyring
需要自己預先在ceph的ssd-pool池上創建名爲rbdpd8的image。
命令執行如下
kubectl create -f kubeapps-ns.yaml
kubectl create -f rbd-default-storageclass.yaml
kubectl create -f rbd-pv-8g.yaml
kubectl create -f rbd-pv-1g.yaml
kubectl create -f rbd-pv-1g2.yaml
kubectl create -f rbd-pv-1g3.yaml
更改kubeapps.yaml,替換裏面的鏡像爲自己registry上的鏡像,執行以下命令安裝
kubectl create -f kubeapps.yaml
刪除kubeapps
從集羣中刪除kubeapps
kubeapps down
或者使用kubectl逆序刪除前面創建的對象。
啓動kubeapps ui
啓動kubeapps ui
kubeapps dashboard
這個命令只能啓用本地127.0.0.1的端口訪問UI,只能本機器的瀏覽器訪問。