在 TKE 安装 OpenKruiseGame
安装方式
两种方式:
- 通过 TKE 应用市场安装,优势是简单方便,直接在控制台点点点就可以安装。
- 通过 OKG 官方提供的 helm 命令方式安装。优势是版本跟进及时,还可通过 GitOps 方式进行安装和管理(如ArgoCD),更灵活。
通过 TKE 应用市场安装
在 TKE 应用市场 中搜索 kruise
, 可以看到 kruise
和 kruise-game
, 将它们安装到集群中即可。
通过 helm 安装
OpenKruiseGame 及其依赖的 OpenKruise,它们的镜像都在 DockerHub,而在 TKE 环境是无需任何配置就能直接拉取 DockerHub 镜像的,所以可以在 TKE 上安装 OpenKruiseGame
并无特殊之处,直接按照 官方安装文档 进行安装即可。
前提条件
安装前先确保满足以下前提条件:
- 创建了 TKE 集群,且集群版本大于等于 1.18。
- 本地安装了 helm 命令,且能通过 helm 命令操作 TKE 集群(参考本地 Helm 客户端连接集群)。
安装 Kruise 与 Kruise-Game
参考 官方安装文档 进行安装。
helm 命令所在环境连不上 github 怎么办?
使用 helm 命令安装时,依赖托管在 github 上的 helm repo,如果 helm 命令所在环境连不上 github,会导致安装失败。
如果不能解决 helm 所在机器的网络问题,可以尝试在能连上 github 的机器上执行 helm 命令将依赖的 chart 包下载下来:
$ helm repo add openkruise https://openkruise.github.io/charts/
$ helm fetch openkruise/kruise
$ helm fetch openkruise/kruise-game
$ ls kruise-*.tgz
kruise-1.6.3.tgz kruise-game-0.8.0.tgz
然后将下载到的 tgz
压缩包拷贝到原来 helm 命令所在机器上,再执行 helm 命令安装:
helm install kruise kruise-1.6.3.tgz
helm install kruise-game kruise-game-0.8.0.tgz
注意替换文件名。
kruise-game-controller-manager 报错 client-side throttling
使用默认配置在 TKE 安装 OpenKruiseGame
的时候(v0.8.0),kruise-game-controller-manager
的 Pod 可能会起不来:
I0708 03:28:11.315405 1 request.go:601] Waited for 1.176544858s due to client-side throttling, not priority and fairness, request: GET:https://172.16.128.1:443/apis/operators.coreos.com/v1alpha2?timeout=32s
I0708 03:28:21.315900 1 request.go:601] Waited for 11.176584459s due to client-side throttling, not priority and fairness, request: GET:https://172.16.128.1:443/apis/install.istio.io/v1alpha1?timeout=32s
是因为 OpenKruiseGame
的 helm chart 包中,默认的本地 APIServer 限速太低 (values.yaml
):
kruiseGame:
apiServerQps: 5
apiServerQpsBurst: 10
可以改高点:
kruiseGame:
apiServerQps: 50
apiServerQpsBurst: 100
安装 tke-extend-network-controller 网络插件
如需使用 OKG 的 TencentCloud-CLB 网络接入,还需确保安装了 tke-extend-network-controller
,具体参考 安装 tke-extend-network-controller。