Day3 安装 Kubernetes & Open-Match 核心

在昨天我们简单介绍了框架是如何产生配对後,今天我们要来部署 Open-Match 所需要的环境与核心。基於弹性拓展需求,首先需要的是 Kubernetes Cluster,Open-Match 的核心便是安装於此,且後续我们也会把须实作的部件,以容器的方式搭载於 Kubernetes 上。

部署 Kubernetes

可参照官方部署说明以建置在 GCP 或 Minikube 上,或跟笔者一样直接启用 docker-desktop 即可。

https://i.imgur.com/jLaagzl.png

启动後可以确认一下,丛集是不是被建立

~ kubectl config current-context                                                                                                         ✔  1821  5.96G RAM  3.15 L  16:13:18

NAME
docker-desktop

Open-Match 核心部署

让我们使用官方提供的 yaml 进行快速安装,里面包含:

  • Open-Match 核心 Deployment, Service, PodSecurityPolicy
  • 核心所需 Redis Deployment
  • IAMs 权限管理所需要的 Role
  • 自动拓展策略所需的 HorizontalPodAutoscaler
  • 预设参数所使用的 ConfigMap

建立核心所需 namespace

kubectl create namespace open-match

部署核心

kubectl apply --namespace open-match \
  -f https://open-match.dev/install/v1.2.0/yaml/06-open-match-override-configmap.yaml \
  -f https://open-match.dev/install/v1.2.0/yaml/07-open-match-default-evaluator.yaml \
  -f https://open-match.dev/install/v1.2.0/yaml/01-open-match-core.yaml

观察部署结果

部署後我们可以看到核心包含了 backend, frontend, query, evaluator pods * 3,redis node * 2 以及 swaggerui, synchronizer pods * 1。并且依据拓展策略,部分 3个 pods 的服务会依据使用状况缩减或增加。

~ kubectl get pod -n open-match    
                                                                                                      ✔  1820  6.03G RAM  3.26 L  16:06:14
NAME                                       READY   STATUS              RESTARTS   AGE
open-match-backend-5bcfd664dd-gnrt6        0/1     ContainerCreating   0          9s
open-match-backend-5bcfd664dd-qrnkl        0/1     ContainerCreating   0          9s
open-match-backend-5bcfd664dd-w2v2r        0/1     ContainerCreating   0          8s
open-match-evaluator-68b657c9d9-7v98w      1/1     Running             0          16s
open-match-evaluator-68b657c9d9-mn6jj      1/1     Running             0          17s
open-match-evaluator-68b657c9d9-vxctn      1/1     Running             0          17s
open-match-frontend-8478cb9d9b-4c6nc       0/1     ContainerCreating   0          8s
open-match-frontend-8478cb9d9b-5mr7z       0/1     ContainerCreating   0          8s
open-match-frontend-8478cb9d9b-lpdv5       0/1     ContainerCreating   0          9s
open-match-query-8545bbb4d4-cmzd5          0/1     ContainerCreating   0          8s
open-match-query-8545bbb4d4-hsnnc          0/1     ContainerCreating   0          9s
open-match-query-8545bbb4d4-m9x9h          0/1     ContainerCreating   0          8s
open-match-redis-node-0                    0/3     ContainerCreating   0          7s
open-match-swaggerui-6658d4c55b-r7x8k      0/1     ContainerCreating   0          8s
open-match-synchronizer-85b5dc89d8-wqnrf   0/1     ContainerCreating   0          8s

至此若所有的 pods status 变成 Running,我们已经完成了核心部署。要注意的是如果你是参照官网部署流程,那记得 Install Core Open Match 之前要 create namespace 与 Install the Default Evaluator,否则会无法建立或 pods 卡在 ContainerCreating 状态。


<<:  Azure - Day5 Azure Function

>>:  全端入门Day11_全端之IDE环境尾篇

【2】学习率大小的影响与学习率衰减(Learning rate decay)

Colab连结 大家应该听到烂了,学习率(Learning rate)指的是模型每做完一次 back...

php没法连线资料库

在连资料库的时候 跑出这个错误 请问各位大大是哪里有问题? 这是错误的程序 说第八行可是我不知道哪...

Day.25 Binary Search Tree III

Binary Search Tree III 树主要有三种走访的方式,分别是InOrder、PreO...

【Day 7】GIT版本还原及回归

说明:分支的版本还原 还原前1个版本指令 git reset HEAD^ ^可以决定要还原到哪一版,...

Day-06 始於足下:基本语法、陈述句与宣告

至此,常见的JavaScript资料型别已具列完毕,行将踏出实作的步伐。在此之前,再就三个部份进行一...