在 Minikube 中安装 Starwhale
先决条件
启动 Minikube
minikube start --kubernetes-version=1.25.3 --image-repository=docker-registry.starwhale.cn/minikube --base-image=docker-registry.starwhale.cn/minikube/k8s-minikube/kicbase:v0.0.42
minikube addons enable ingress --images="KubeWebhookCertgenPatch=ingress-nginx/kube-webhook-certgen:v20231011-8b53cabe0,KubeWebhookCertgenCreate=ingress-nginx/kube-webhook-certgen:v20231011-8b53cabe0,IngressController=ingress-nginx/controller:v1.9.4"
目前 docker-registry.starwhale.cn/minikube
目前只缓存了 Kubernetes 1.25.3 的镜像,也可以使用阿里云提供的 Minikube 镜像:
minikube start --image-mirror-country=cn
minikube addons enable ingress --images="KubeWebhookCertgenPatch=kube-webhook-certgen:v20231011-8b53cabe0,KubeWebhookCertgenCreate=kube-webhook-certgen:v20231011-8b53cabe0,IngressController=nginx-ingress-controller:v1.9.4" --registries="KubeWebhookCertgenPatch=registry.cn-hangzhou.aliyuncs.com/google_containers,KubeWebhookCertgenCreate=registry.cn-hangzhou.aliyuncs.com/google_containers,IngressController=registry.cn-hangzhou.aliyuncs.com/google_containers"
对于非中国大陆网络用户,可以使用如下命令:
minikube start --addons ingress
如果在您的机器上没有安装 kubectl,可以使用 Minikube 自带的 kubectl: minikube kubectl
或 bashrc中增加 alias kubectl="minikube kubectl --"
。
安装 Starwhale Server
helm repo add starwhale https://star-whale.github.io/charts
helm repo update
helm pull starwhale/starwhale --untar --untardir ./charts
helm upgrade --install starwhale ./charts/starwhale -n starwhale --create-namespace -f ./charts/starwhale/values.minikube.cn.yaml
对于非中国大陆网络用户,可以使用 values.minikube.global.yaml
,命令如下:
helm upgrade --install starwhale ./charts/starwhale -n starwhale --create-namespace -f ./charts/starwhale/values.minikube.global.yaml
当成功安装后,会有类似如下的提示信息输出:
Release "starwhale" has been upgraded. Happy Helming!
NAME: starwhale
LAST DEPLOYED: Tue Feb 14 16:25:03 2023
NAMESPACE: starwhale
STATUS: deployed
REVISION: 14
NOTES:
******************************************
Chart Name: starwhale
Chart Version: 0.5.6
App Version: latest
Starwhale Image:
- server: ghcr.io/star-whale/server:latest
******************************************
Controller:
- visit: http://controller.starwhale.svc
Minio:
- web visit: http://minio.starwhale.svc
- admin visit: http://minio-admin.starwhale.svc
MySQL:
- port-forward:
- run: kubectl port-forward --namespace starwhale svc/mysql 3306:3306
- visit: mysql -h 127.0.0.1 -P 3306 -ustarwhale -pstarwhale
Please run the following command for the domains searching:
echo "$(sudo minikube ip) controller.starwhale.svc minio.starwhale.svc minio-admin.starwhale.svc " | sudo tee -a /etc/hosts
******************************************
Login Info:
- starwhale: u:starwhale, p:abcd1234
- minio admin: u:minioadmin, p:minioadmin
*_* Enjoy to use Starwhale Platform. *_*
检查 Starwhale Server 状态
Minikube 方式启动 Starwhale Server 一般要用时3-5分钟,可以输出如下命令检查是否完成启动:
kubectl get deployments -n starwhale
NAME | READY | UP-TO-DATE | AVAILABLE | AGE |
---|---|---|---|---|
controller | 1/1 | 1 | 1 | 5m |
minio | 1/1 | 1 | 1 | 5m |
mysql | 1/1 | 1 | 1 | 5m |
本机访问的网络配置
输出如下命令后,就可以在浏览器中通过 http://controller.starwhale.svc 访问 Starwhale Server:
echo "$(sudo minikube ip) controller.starwhale.svc minio.starwhale.svc minio-admin.starwhale.svc " | sudo tee -a /etc/hosts
其他机器访问的网络配置
步骤1: 在 Starwhale Server 所在机器上
使用
socat
命令做临时的端口转发,命令如下:# install socat at first, ref: https://howtoinstall.co/en/socat
sudo socat TCP4-LISTEN:80,fork,reuseaddr,bind=0.0.0.0 TCP4:`minikube ip`:80当您停掉socat进程后,端口转发会被禁止,其他机器的访问也会被禁止。如果想长期开启端口转发,可以使用
iptables
命令。步骤2: 在其他机器上
在 hosts 文件添加相关域名映射,命令如下:
# for macOSX or Linux environment, run the command in the shell.
echo ${your_machine_ip} controller.starwhale.svc minio.starwhale.svc minio-admin.starwhale.svc " | sudo tee -a /etc/hosts
# for Windows environment, run the command in the PowerShell with administrator permission.
Add-Content -Path C:\Windows\System32\drivers\etc\hosts -Value "`n${your_machine_ip} controller.starwhale.svc minio.starwhale.svc minio-admin.starwhale.svc"