Как создать секрет для извлечения пользовательских изображений с помощью cdk8s?

У меня есть следующий класс:

      import { KubeDeployment, KubeSecret, KubeService } from './imports/k8s';
import { Construct } from 'constructs';
import { App, Chart } from 'cdk8s';
import * as kplus from 'cdk8s-plus-17';

class MyChart extends Chart {
  constructor(scope: Construct, name: string) {
    super(scope, name);

    const label = { app: 'simple-nginx-server' };
    this.createDeployment(label);
    this.createService(label);
    this.createSecret(label);
  }

  createDeployment(label: any) {
    new KubeDeployment(this, 'deployment', {
      spec: {
        replicas: 5,
        selector: {
          matchLabels: label
        },
        template: {
          metadata: { labels: label },
          spec: {
            containers: [
              {
                name: 'webserver',
                image: 'myrepo/myimage',
                imagePullPolicy: kplus.ImagePullPolicy.IF_NOT_PRESENT,
                ports: [{ containerPort: 80 }]
              }
            ]
          }
        }
      }
    });
  }

  createService(label: any) {
    new KubeService(this, 'service', {
      spec: {
        type: 'LoadBalancer',
        ports: [{ port: 80, targetPort: 80 }],
        selector: label
      }
    });
  }

  createSecret(label: any) {
    new KubeSecret(this, 'secret', {
      metadata: { labels: label }, data: { "auths": "base64auth" }, type: "kubernetes.io/dockerconfigjson"
    });
  }
}

const app = new App();
new MyChart(app, 'nginx-custom-server');
app.synth();

Секрет работает неправильно, потому что я не могу вытащить образ из моего частного репозитория (вытягивание докеров работает), потому что модули из сервисов выдают ошибки повсюду из-за невозможности вытащить образ. Как я могу это исправить?

Еще одна вещь, если кто-нибудь знает, можете ли вы указать мне, где я должен посмотреть, как прикрепить тома к этим модулям? Я имею в виду локальные тома, в документации CDK8S их нет.

0 ответов

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