【发布时间】:2022-01-31 17:17:57
【问题描述】:
我正在尝试使用为 kubernetes/openshift 提供的部署图表在 openshift 上进行部署。但是我对 WSO2 的原始图像中包含的用户 ID 有疑问。我没有 openshift 集群的集群管理员权限,因此无法修改 SCC 策略。
在 WSO2 API Manager 的 Dockerfile 中,用户 ID 是通过 ARG 包含的,因此一旦构建了此映像,就无法修改此用户 ID 号。可以在这里查看:https://github.com/wso2/docker-apim/blob/v4.0.0.1/dockerfiles/ubuntu/apim/Dockerfile
# set Docker image build arguments
# build arguments for user/group configurations
ARG USER=wso2carbon
ARG USER_ID=802
ARG USER_GROUP=wso2
ARG USER_GROUP_ID=802
在 WSO2 提供的 kubernetes 部署工件中,可以在此处查看 https://github.com/wso2/kubernetes-apim/blob/master/simple/am-single/templates/am/instance/wso2am-deployment.yaml,他们在该部分中使用此用户 ID:
securityContext:
runAsUser: 802
但是当我在 openshift 集群上部署它时,我收到以下错误:
Forbidden: not usable by user or serviceaccount, spec.containers[0].securityContext.runAsUser: Invalid value: 802: must be in the ranges: [1015490000, 1015499999]
基本上说我不能使用低于 1015490000 的用户 ID,在本例中为 802,但我不知道如何在不从 WSO2 构建自己的 Dockerfile 的情况下覆盖此用户 ID,因为每次更新或更改原始图像我将不得不构建它似乎不是解决这个问题的最佳方法。
如果有人可以帮我解决这个问题。
【问题讨论】:
标签: docker kubernetes wso2 kubernetes-helm wso2-am