Я не могу создать кластер для Pulumi, потому что код помечен, пожалуйста, помогите

#typescript #google-cloud-platform #pulumi

# #typescript #google-облачная платформа #pulumi

Вопрос:

Я работаю над созданием кластера в Google Cloud через Pulumi на платформе VSCode, и он написан на Typescript, но «кластер» помечен красным.

 import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const cluster = new gcp.container.Cluster("cluster", {
    zone: "us-central1-a"
    initialNodeCount: 3,
});

export const clusterId = cluster.id;
 

Пожалуйста, помогите, что можно сделать для успешного создания кластера с помощью Pulumi с IAC для Google Cloud. Спасибо.

Отображение кода Typescript и соответствующих ошибок

Ответ №1:

Похоже, что Pulumi не может найти проект GCP для развертывания.

Вам необходимо войти в Google Cloud на вашей рабочей станции в соответствии с: https://www.pulumi.com/docs/get-started/gcp/begin/#configure-gcp

Или вы можете настроить связанные переменные среды: https://www.pulumi.com/docs/intro/cloud-providers/gcp/setup/#optional-settings

Ответ №2:

Предполагая, что вы установили Google Cloud SDK, а затем инициализировали Cloud SDK;

Беги: gcloud auth application-default login

Что приведет к следующему;

 Your browser has been opened to visit:

    https://accounts.google.com/o/oauth2/auth?response_type=codeamp;client_id=000000000000-abcdefghijklmnopqrstuvwxyz.apps.googleusercontent.comamp;redirect_uri=http://localhost:8085/amp;scope=openid https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/cloud......

Credentials saved to file: [/Users/$HOME/.config/gcloud/application_default_credentials.json]

These credentials will be used by any library that requests Application Default Credentials (ADC).
/Users/$HOME/.bin/google-cloud-sdk/lib/third_party/google/auth/_default.py:69: UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK without a quota project. You might receive a "quota exceeded" or "API not enabled" error. We recommend you rerun `gcloud auth application-default login` and make sure a quota project is added. Or you can use service accounts instead. For more information about service accounts, see https://cloud.google.com/docs/authentication/
  warnings.warn(_CLOUD_SDK_CREDENTIALS_WARNING)

Quota project "<PROJECT_NAME>" was added to ADC which can be used by Google client libraries for billing and quota. Note that some services may still bill the project owning the resource.
 

Затем запустите: pulumi preview

Похоже zone: , что теперь он устарел, для меня работает следующая конфигурация:

 const cluster = new gcp.container.Cluster("cluster", {
    initialNodeCount: 1,

    loggingService: "logging.googleapis.com/kubernetes",
    monitoringService: "monitoring.googleapis.com/kubernetes",

    removeDefaultNodePool: true,

    enableLegacyAbac: false,
    enableBinaryAuthorization: true,

    addonsConfig: {
        horizontalPodAutoscaling: {
            disabled: false,
        },
        istioConfig: {
            disabled: false,
            auth: "AUTH_MUTUAL_TLS",
        },
        cloudrunConfig: {
            disabled: true
        }
    },
},  {
    customTimeouts: {
        create: "30m",
        update: "30m",
        delete: "30m"
    }
});