Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kruise game 0.4.0 #114

Merged
merged 1 commit into from
Jul 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,10 +1,18 @@
# 安装

安装OpenKruiseGame需安装Kruise与Kruise-Game,且要求 Kubernetes版本 >= 1.16
## 安装OpenKruiseGame(OKG)

## 安装Kruise
### 安装说明
OpenKruiseGame 要求在 Kubernetes 1.16 以上版本的集群中安装和使用。

建议采用 helm v3.5+ 来安装 Kruise
OpenKruiseGame 包含两个组件:`kruise` 与 `kruise-game`。
默认情况下,安装`kruise-game`时会自动安装最新版本且配置默认的`kruise`。
若您希望自主管理`kruise`组件,则可以在安装`kruise-game`时设置参数`installation.kruise`为`false`,此时`kruise-game`安装时则不再安装`kruise`。
值得注意的是,kruise-game 0.3.0及之前的版本中,默认是不安装kruise组件的,在升级时需要注意设置`installation.kruise`为`false`。

### 通过helm安装

建议采用 helm v3.5+ 来安装 OpenKruiseGame

```shell
# Firstly add openkruise charts repository if you haven't do this.
Expand All @@ -14,42 +22,46 @@ $ helm repo add openkruise https://openkruise.github.io/charts/
$ helm repo update

# Install the latest version.
$ helm install kruise openkruise/kruise --version 1.4.0
$ helm install kruise-game openkruise/kruise-game --version 0.4.0
```
·
#### 安装Kruise-Game

## 升级 OpenKruiseGame(OKG)

### 通过helm升级

```shell
$ helm install kruise-game openkruise/kruise-game --version 0.3.0
$ helm upgrade kruise-game openkruise/kruise-game --version 0.4.0 [--force]
```

#### 可选:使用自定义配置安装/升级

下表列出了 kruise-game 的可配置参数及其默认值。

| Parameter | Description | Default |
|----------------------------------------|-------------------------------------------------------------------|-------------------------------------|
| `installation.namespace` | kruise-game 安装到的 namespace,一般不建议修改 | `kruise-game-system` |
| `installation.createNamespace` | 是否需要创建上述 namespace,一般不建议修改,除非指定安装到已有的 ns 中 | `true` |
| `kruiseGame.fullname` | kruise-game 部署和其他配置的名称 | `kruise-game-controller-manager` |
| `kruiseGame.healthBindPort` | 用于检查 kruise-game 容器健康检查的端口 | `8082` |
| `kruiseGame.webhook.port` | kruise-game 容器服务的 webhook 端口 | `443` |
| `kruiseGame.webhook.targetPort` | 用于 MutatingWebhookConfigurations 中工作负载的 ObjectSelector | `9876` |
| `replicaCount` | kruise-game 的期望副本数 | `1` |
| `image.repository` | kruise-game 的镜像仓库 | `openkruise/kruise-game-manager` |
| `image.tag` | kruise-game 的镜像版本 | `v0.2.1` |
| `image.pullPolicy` | kruise-game 的镜像拉取策略 | `Always` |
| `serviceAccount.annotations` | kruise-game的serviceAccount注解 | ` ` |
| `resources.limits.cpu` | kruise-game容器的CPU资源限制 | `500m` |
| `resources.limits.memory` | kruise-game容器的内存资源限制 | `1Gi` |
| `resources.requests.cpu` | kruise-game容器的CPU资源请求 | `10m` |
| `resources.requests.memory` | kruise-game容器的内存资源请求 | `64Mi` |
| `prometheus.enabled` | 是否创建指标监控服务 | `true` |
| `prometheus.monitorService.port` | monitorService的监听端口 | `8080` |
| `scale.service.port` | 伸缩服务监听端口 | `6000` |
| `scale.service.targetPort` | 伸缩服务目标端口 | `6000` |
| `network.totalWaitTime` | 等待网络Ready的最长时间,单位是秒 | `60` |
| `network.probeIntervalTime` | 探测网络状态的时间间隔,单位是秒 | `5` |
| Parameter | Description | Default |
|------------------------------------|--------------------------------------------------------|----------------------------------|
| `installation.kruise` | 是否安装最新版本且配置默认的kruise组件 | `true` |
| `installation.namespace` | kruise-game 安装到的 namespace,一般不建议修改 | `kruise-game-system` |
| `installation.createNamespace` | 是否需要创建上述 namespace,一般不建议修改,除非指定安装到已有的 ns 中 | `true` |
| `kruiseGame.fullname` | kruise-game 部署和其他配置的名称 | `kruise-game-controller-manager` |
| `kruiseGame.healthBindPort` | 用于检查 kruise-game 容器健康检查的端口 | `8082` |
| `kruiseGame.webhook.port` | kruise-game 容器服务的 webhook 端口 | `443` |
| `kruiseGame.webhook.targetPort` | 用于 MutatingWebhookConfigurations 中工作负载的 ObjectSelector | `9876` |
| `replicaCount` | kruise-game 的期望副本数 | `1` |
| `image.repository` | kruise-game 的镜像仓库 | `openkruise/kruise-game-manager` |
| `image.tag` | kruise-game 的镜像版本 | `v0.4.0` |
| `image.pullPolicy` | kruise-game 的镜像拉取策略 | `Always` |
| `serviceAccount.annotations` | kruise-game的serviceAccount注解 | ` ` |
| `resources.limits.cpu` | kruise-game容器的CPU资源限制 | `500m` |
| `resources.limits.memory` | kruise-game容器的内存资源限制 | `1Gi` |
| `resources.requests.cpu` | kruise-game容器的CPU资源请求 | `10m` |
| `resources.requests.memory` | kruise-game容器的内存资源请求 | `64Mi` |
| `prometheus.enabled` | 是否创建指标监控服务 | `true` |
| `prometheus.monitorService.port` | monitorService的监听端口 | `8080` |
| `scale.service.port` | 伸缩服务监听端口 | `6000` |
| `scale.service.targetPort` | 伸缩服务目标端口 | `6000` |
| `network.totalWaitTime` | 等待网络Ready的最长时间,单位是秒 | `60` |
| `network.probeIntervalTime` | 探测网络状态的时间间隔,单位是秒 | `5` |
| `cloudProvider.installCRD` | 是否安装 CloudProvider 相关CRD资源 | `true` |

使用 `--set key=value[,key=value]` 参数指定每个参数到 `helm install`,例如,

Expand All @@ -58,11 +70,10 @@ $ helm install kruise-game openkruise/kruise-game --version 0.3.0
如果你在中国并且无法从官方 DockerHub 拉取镜像,你可以使用托管在阿里云上的镜像:

```bash
$ helm install kruise-game https://... --set image.repository=registry.cn-hangzhou.aliyuncs.com/acs/kruise-game-manager:v0.2.1
...
$ helm install kruise-game https://... --set image.repository=registry.cn-hangzhou.aliyuncs.com/acs/kruise-game-manager
```

## 卸载
## 卸载OpenKruiseGame(OKG)

请注意,这将导致删除 kruise-game 创建的所有资源,包括 webhook 配置、服务、命名空间、CRD 和 CR 实例 kruise-game 控制器!
请仅在您完全了解后果后才这样做。
Expand All @@ -73,6 +84,17 @@ $ helm uninstall kruise-game
release "kruise-game" uninstalled
```

## 常见问题

Q: 出现错误 `no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"`
A: 这是因为集群并没有安装prometheus operator。启用游戏服监控功能需要安装prometheus operator于Kubernetes集群。若您不使用该功能,可以在安装时将 prometheus.enabled 设置为false(默认为true)

Q: 出现错误 `CustomResourceDefinition "poddnats.alibabacloud.com" in namespace "" exists and cannot be imported into the cureent release`
A: 这是因为在集群中已经安装了该CRD,您可以在安装时将cloudprovider.installCRD设置为false(默认为true)

Q: 出现错误 `Namespace "kruise-system" in namespace "" exists and cannot be imported into the current release`
A: 这是因为在集群中已经安装了openkruise组件,您可以在安装时将installation.kruise设置为false(默认为true)

## What's Next
接下来,我们推荐你:
- 了解 kruise-game 的 [部署游戏服](user-manuals/deploy-gameservers.md).
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ OpenKruiseGame(OKG)具有如下核心能力:
<td style={{"border":0}}><center><img src={require('/static/img/kruisegame/shangyou-logo.jpeg').default} width="120" /></center></td>
<td style={{"border":0}}><center><img src={require('/static/img/kruisegame/guanying-logo.png').default} width="120" /></center></td>
<td style={{"border":0}}><center><img src={require('/static/img/kruisegame/booming-logo.png').default} width="120" /></center></td>
<td style={{"border":0}}><center><img src={require('/static/img/kruisegame/xingzhe-logo.png').default} width="120" /></center></td>
</tr>
</table>

Expand Down
Loading