Как изменить параметр «runAsNonRoot» для контейнера с cdk8s
Я пытаюсь познакомиться с cdk8s и попытаться развернуть контейнер в кластере. Все это работает нормально, пока я не захочу запустить контейнер от имени пользователя root (я знаю, что это не лучшая практика, но я хочу иметь такую возможность).
У меня есть следующий класс:
export class WebService extends Chart {
Service: kplus.Service
IngressBackend: kplus.IngressBackend
Container: kplus.Container
constructor(scope: Construct, id: string, props: WebServiceProps) {
super(scope, id)
const port = props.port || 80
// const containerPort = props.containerPort || 8080
const label = { app: Names.toDnsLabel(this) }
const replicas = props.replicas ?? 1
const deployment = new kplus.Deployment(scope, Names.toDnsLabel(this), {
replicas: replicas,
metadata: { labels: label },
})
this.Container = deployment.addContainer({
image: props.image,
port: port,
})
Веб-сервис имеет интерфейс, в котором объявляется все необходимое. Я ожидаю, что это сработает:
this.Container = deployment.addContainer({
image: props.image,
port: port,
securityContext: {
runAsNonRoot: false,
},
})
Но похоже, что опция runAsNonRoot не является частью интерфейса ContainerSecurityContextProps. Эта опция является частью базового интерфейса SecurityContext, поэтому я думал об использовании аварийного люка: https://cdk8s.io/docs/latest/basics/escape-hatches/ , но, честно говоря, я понятия не имел, как вообще начать с этого ( я относительно новичок в машинописном тексте, поэтому не совсем понимаю его документацию)
Если бы кто-нибудь мог указать мне, как пользоваться аварийными люками, это было бы здорово.