Как изменить параметр «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/ , но, честно говоря, я понятия не имел, как вообще начать с этого ( я относительно новичок в машинописном тексте, поэтому не совсем понимаю его документацию)

Если бы кто-нибудь мог указать мне, как пользоваться аварийными люками, это было бы здорово.

0 ответов

Другие вопросы по тегам