赞
踩
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
最近幻兽帕鲁太火了,于是想着卖服务器,但是想着每个人来买都要一个IP和一台虚拟机,想着能不能用K8S部署,实现IP的复用和CPU的超售:
第一想法是直接起个POD,但是想着起了POD一旦挂了没法自动拉起服务,还是用Deployment控制只起一个POD,这样来管理服务会更方便,也可以自动容灾。
以下为Deployment的关键Yaml项
apiVersion: apps/v1 kind: Deployment metadata: name: palworld labels: palwold: palworld-8211 spec: replicas: 1 selector: matchLabels: palwold: palworld-8211 template: metadata: labels: palwold: palworld-8211 spec: containers: - name: palworld image: uhub.service.ucloud.cn/hzx-uhub/palworld-dedicated-server:latest ports: - containerPort: 8211 protocol: UDP env: - name: ALWAYS_UPDATE_ON_START value: "true" - name: MAX_PLAYERS value: "32" - name: MULTITHREAD_ENABLED value: "true" - name: RCON_ENABLED value: "true" - name: SERVER_NAME value: "Palworld-ucloud-server" - name: SERVER_DESCRIPTION value: "Palworld-ucloud-server" - name: SERVER_PASSWORD value: "" - name: ADMIN_PASSWORD value: "" - name: PORT value: "8211"
yaml没写完,大概思路就是起一个LB的SVC,然后每个区服一个端口,然后再svc里映射相应的端口
apiVersion: v1 kind: Service metadata: name: palworld-8211 labels: palwold: palworld-8211 annotations: # 代表ULB网络类型,outer为外网,inner为内网;outer为默认值,此处可省略。 "service.beta.kubernetes.io/ucloud-load-balancer-type": "outer" # 表示ULB协议类型,tcp与udp等价,表示ULB4;http与httpS等价,表示ULB7;tcp为默认值,此处可省略。 "service.beta.kubernetes.io/ucloud-load-balancer-vserver-protocol": "udp" # bandwidth下默认为2Mpbs,建议显式声明带宽大小,避免费用超标。 "service.beta.kubernetes.io/ucloud-load-balancer-eip-bandwidth": "2" # 付费模式,支持month,year,dynamic,默认为month "service.beta.kubernetes.io/ucloud-load-balancer-eip-chargetype": "month" # 付费时长,默认为1,chargetype为dynimic时无效 "service.beta.kubernetes.io/ucloud-load-balancer-eip-quantity": "1" spec: type: LoadBalancer ports: - protocol: UDP port: 8211 targetPort: 8211 selector: palwold: palworld-8211 # 总结 以上环境基于优刻得UK8S部署 总的来说已经完成了CPU的超售和IP的复用了,不用每个客户过来买一台服务器就要建一个虚拟机了。 关键的地方都写好了,看着摸索一下差不多了,有问题可以私聊。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。