k8s部署小游戏
k8s部署小游戏2048
·
k8s部署小游戏
k8s部署小游戏非常简单,比js前端部署方便多了。下面试一试玩一玩
1 查看镜像
docker hub里已经有其他人上传的游戏镜像了,我们可以直接拿来用,这就是镜像仓库的优势,可以直接使用别人造好的轮子。
[root@k8s-node02 ~]# docker search 2048
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
quchaonet/2048 项目:[2048游戏]-一个经典的网页小游戏-镜像定… 6
blackicebird/2048 2048 with logging 4
amigoscode/2048 1
ponsfrilus/2048nginx A nginx containter wich run 2048 1 [OK]
2 部署pod
使用k8s编排容器,部署一个deploy, 还能高可用
cat > game-deploy.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: game-deployment
spec:
selector:
matchLabels:
app: game
replicas: 2
template:
metadata:
labels:
app: game
spec:
containers:
- name: game
image: blackicebird/2048
ports:
- containerPort: 80
EOF
# 刚才查到的star多的镜像写上去
kubectl create -f game-deploy.yaml
部署路由,外部访问
起一个loadbalancer服务,让客户端可以访问到pod, 注意标签对应deploy的标签, targetPort端口是pod的端口.
cat > game-loadbalancer.yaml << EOF
apiVersion: v1
kind: Service
metadata:
name: game-loadbalancer
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 80
selector:
app: game
EOF
# 启动
kubectl create -f game-loadbalancer.yaml
查看
[root@k8s-node02 ~]# kubectl get po
NAME READY STATUS RESTARTS AGE
game-deployment-84bf68885d-bwctb 1/1 Running 0 21m
game-deployment-84bf68885d-j9qq9 1/1 Running 0 21m
[root@k8s-node02 ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
game-loadbalancer LoadBalancer 192.168.0.117 175.27.183.90 80:31382/TCP 18m
kubernetes ClusterIP 192.168.0.1 <none> 443/TCP 9d
访问
打开游览器, EXTERNAL-IP:<port>
更多推荐
已为社区贡献8条内容
所有评论(0)