iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
Software Development

徵坦補! 新手可! Open-Match 配對框架系列 第 3

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 狀態。


上一篇
Day2 初次窺探配對框架
下一篇
Day4 官方 Demo 說明
系列文
徵坦補! 新手可! Open-Match 配對框架30

尚未有邦友留言

立即登入留言