Minikube配置
大约 2 分钟
Minikube 初始化
安装
启动 minikube
建议限制内存使用,本地运行,我设置的是 3g
minikube start --memory 3g
minikube 启用插件
启用 ingress 和 metrics (metrics是gozero默认使用的,用于自动扩展)
minikube addons enable ingress
添加别名
alias kubectl="minikube kubectl --"
部署服务
clone 代码,进入 deploy/k8s 文件夹
# 添加服务注册发现账号
kubectl apply -f auth.yaml
# 创建持久卷保存日志
kubectl apply -f pv.yaml
# 修改 core-rpc.yaml 中的镜像为自己的,然后执行
kubectl apply -f core-rpc.yaml
# 修改 core-api.yaml 中的镜像为自己的,然后执行
kubectl apply -f core-api.yaml
# 修改 backend-ui.yaml 中的镜像为自己的,然后执行
kubectl apply -f backend-ui.yaml
相关信息
可以直接运行 simple-admin-core/deploy/k8s/setup.sh 完成以上操作
Ingress 配置
参考官方文档 Official Document
首先创建 ingress
kubectl apply -f ingress.yaml
Ingress 文件
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: simple-admin-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: simple-admin.com # 域名
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: backendui-svc
port:
number: 80
- host: simple-admin.com # 域名
http:
paths:
- path: /sys-api/
pathType: Prefix
backend:
service:
name: coreapi-svc
port:
number: 9100
注册 tcp 服务到 ingress configmap 中
# 注册 coreapi
kubectl patch configmap tcp-services -n ingress-nginx --patch '{"data":{"9100":"simple-admin/coreapi-svc:9100"}}'
# 注册 backendui, 将 8080 端口映射到backendui的80端口
kubectl patch configmap tcp-services -n ingress-nginx --patch '{"data":{"8080":"simple-admin/backendui-svc:80"}}'
注册服务到 ingress controller中
kubectl patch deployment ingress-nginx-controller --patch "$(cat ingress-patch.yaml)" -n ingress-nginx
相关信息
可以直接运行 simple-admin-core/deploy/k8s/setup-ingress.sh 完成以上操作
查看 ingress 地址
kubectl get ingress
返回
NAME CLASS HOSTS ADDRESS PORTS AGE
simple-admin-ingress nginx simple-admin.com,simple-admin.com 192.168.49.2 80 2m8s
修改本地 hosts
ip 和 ingress 中一致
# 添加dns
192.168.49.2 simple-admin.com
本地访问
http://simple-admin.com:8080/
即可看到效果