Submarine can support various volume types, currently including hostPath (default) and NFS. It can be easily configured in the ./helm-charts/submarine/values.yaml
, or you can override the default values in values.yaml
by helm CLI.
./helm-charts/submarine/values.yaml
..storage.type
to host
..storage.host.root
to <any-path>
# ./helm-charts/submarine/values.yaml storage: type: host host: root: /tmp
kubectl create -f ./dev-support/nfs-server/nfs-server.yamlIt will create a nfs-server pod in kubernetes cluster, and expose nfs-server ip at
10.96.0.2
apt-get install -y nfs-common
yum install nfs-util
./helm-charts/submarine/values.yaml
..storage.type
to nfs
..storage.nfs.ip
to <any-ip>
# ./helm-charts/submarine/values.yaml storage: type: nfs nfs: ip: 10.96.0.2
Submarine server by default expose 8080 port within K8s cluster. After Submarine v0.5 uses Traefik as reverse-proxy by default. If you don't want to use Traefik, you can modify below value to false in ./helm-charts/submarine/values.yaml
.
# Use Traefik by default traefik: enabled: true
To access the server from outside of the cluster, we use Traefik ingress controller and NodePort for external access.
Please refer to ./helm-charts/submarine/charts/traefik/values.yaml
and Traefik docs for more details if you want to customize the default value for Traefik.
Notice: If you use kind
to run local Kubernetes cluster, please refer to this docs and set the configuration “extraPortMappings” when creating the k8s cluster.
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane extraPortMappings: - containerPort: 32080 hostPort: [the port you want to access]
# Use nodePort and Traefik ingress controller by default. # To access the submarine server, open the following URL in your browser. http://127.0.0.1:32080
If minikube is installed, use the following command to find the URL to the Submarine server.
$ minikube service submarine-traefik --url
To deploy Dashboard, execute the following command:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
Run the following commands to grant the cluster access permission of dashboard:
kubectl create serviceaccount dashboard-admin-sa kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa
If you want to use the token to login the dashboard, run the following commands to get key:
kubectl get secrets # select the right dashboard-admin-sa-token to describe the secret kubectl describe secret dashboard-admin-sa-token-6nhkx
kubectl proxy
Now access Dashboard at:
Dashboard screenshot: