1:初始化k8s环境
2:准备K8s脚本
dask-scheduler-deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: dask-scheduler
spec:
replicas: 1
selector:
matchLabels:
app: dask-scheduler
template:
metadata:
labels:
app: dask-scheduler
spec:
containers:
- name: dask-scheduler
image: daskdev/dask:latest
command: ["dask-scheduler"]
ports:
- containerPort: 8786
- containerPort: 8787
dask-scheduler-service
apiVersion: v1
kind: Service
metadata:
name: dask-scheduler
spec:
selector:
app: dask-scheduler
ports:
- port: 8786
targetPort: 8786
nodePort: 30086 # 自定义NodePort端口,对于type=NodePort是必须的
name: scheduler-port
- port: 8787
targetPort: 8787
nodePort: 30087 # 自定义NodePort端口,对于type=NodePort是必须的
name: web-ui
type: NodePort
dask-worker-deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: dask-worker
spec:
replicas: 3 # 根据需要调整副本数
selector:
matchLabels:
app: dask-worker
template:
metadata:
labels:
app: dask-worker
spec:
containers:
- name: dask-worker
image: daskdev/dask:latest
command: ["dask-worker", "192.168.10.212:30086"]
# 确保dask-scheduler服务名正确,这里假设它与Deployment中定义的名称一致
3:启动集群
按顺序分别启动
# 启动
kubectl apply -f dask-scheduler-deployment.yaml
kubectl apply -f dask-scheduler-service.yaml
kubectl apply -f dask-worker-deployment.yaml
# 查询pod状态
kubectl get pod,svc
# 查询日志
kubectl logs pod名
#增加work
kubectl scale deployment dask-worker-deployment --replicas=6
# 删除集群
kubectl delete -f dask-worker-deployment.yaml
其他命令
yam文件的生成
#1 create 命令生成
kubectl create deployment web --image=nginx -o yaml --dry-run >my.yaml
#2 get 命令导出
kubectl get deploy nginx -o=yaml --export > my2.yaml
创建副本
# yaml文件定义的名称 replicas 副本数量
kubectl scale deployment web --replicas=3
查询pod 和 网络
kubectl get pod,svc
查询deployments
kubectl get deployments
service
#开发端口 一般都写yml文件
kubectl expose deployment web --port=80 --type=NodePort
# 查看信息
kubectl describe service nginx
# 删除
kubectl delete service nginx