当前位置:   article > 正文

幻兽帕鲁K8S容器化部署,实现IP复用和CPU超售_k8s 帕鲁

k8s 帕鲁

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近幻兽帕鲁太火了,于是想着卖服务器,但是想着每个人来买都要一个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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

二、ip怎么复用

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的复用了,不用每个客户过来买一台服务器就要建一个虚拟机了。
关键的地方都写好了,看着摸索一下差不多了,有问题可以私聊。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/151885
推荐阅读
相关标签
  

闽ICP备14008679号