Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

OpenKruiseGame配置

本文环境:

  • k8s: v1.32.2-tke.6
  • cert-manager: v1.19.1
  • kruise: v1.8.0
  • kruise-game: 1.0.0
  • tke-extend-network-controller: 2.3.6

部署

cert-manager

它被 tke-extend-network-controller 依赖,因为本文是在腾讯云上实践的
如果你用不上,那也不需要装这个

  1. 添加仓库
    helm repo add jetstack https://charts.jetstack.io

  2. 安装插件

    cert-manager.yml
    crds:
      enabled: true
    prometheus:
      enabled: true
    # 如果你没有安装 prometheus operator,配置这些 Annotations 就能让其他Prometheus发现它
    serviceAnnotations: &monitor
      prometheus.io/scrape: "true"
      prometheus.io/port:   "9402"
    webhook:
      serviceAnnotations: *monitor
    cainjector:
      serviceAnnotations: *monitor
    
    helm install -n cert-manager --create-namespace\
      cert-manager jetstack/cert-manager\
      --version v1.19.1\
      -f cert-manager.yml
    

Kruise

  1. 添加仓库
    helm repo add openkruise https://openkruise.github.io/charts/
  2. 安装插件
    helm install -n default kruise openkruise/kruise --version 1.8.0

KruiseGame

  1. 添加仓库
    helm repo add openkruise https://openkruise.github.io/charts/

  2. 安装插件

    kruise-game.yml
    replicaCount: 2
    # 哦谢天谢地。
    # 1.0版本终于加入了外部证书的支持,现在可以部署多个副本了
    certificates:
      autoGenerated: false
      certManager:
        enabled: true
    
    helm install kruise-game openkruise/kruise-game\
      --version 1.0.0\
      -f kruise-game.yml
    

tke-extend-network-controller

直接在 TKE 应用市场安装,这样最方便

或者也可以自动化安装

  1. 添加仓库
    helm repo add tke-extend-network-controller https://tkestack.github.io/tke-extend-network-controller

  2. 安装插件

    tke-extend-network-controller.yml
    region:    # 地域
    vpcID:     # vpc
    secretID:  # 访问密钥
    secretKey: # 访问密钥
    clusterID: # 集群ID
    
    resources:
      requests:
        cpu: 10m
        memory: 64Mi
      limits:
        cpu: 250m
        memory: 512Mi
    
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key:      node.kubernetes.io/instance-type
              operator: NotIn
              values:   [ eklet ]
    
    helm install kruise-game openkruise/kruise-game\
      --version 1.0.0\
      -f kruise-game.yml
    
    好! 角色的支持加到TODO了:

    Github/[Question] 有无支持角色的计划?

配置

参考 官方文档 配置GameServerSet

Last change: , commit: 3070fff