-太鼓と懸甲を掛ける


これは、GETUUBアクションを使用してPulUMI上でAWSプロバイダーを持つEKS環境をPythonで作成するためのモデルです.
  • アクセスhttps://github.com/smashse/pulumi-iac-eks "
  • このテンプレートを使う
  • テンプレート「Pulumi IAC EKS」(例「Pulumi IAC EKS」)から新しいリポジトリを作成して、「個人的な」として選んだ

  • AWSをインストールする(オプション)
    cd /tmp
    ssh-keygen -f pulumi_eks_py_access
    curl "<https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip>" -o "awscliv2.zip"
    unzip awscliv2.zip && sudo ./aws/install
    aws configure
    aws ec2 import-key-pair --public-key-material "$(cat pulumi_eks_py_access.pub | base64)" --key-name pulumi_eks_py_access --region us-west-2 --profile yourprofile
    

    Pulumiテンプレートをダウンロードしてください
    mkdir -p $HOME/Pulumi
    cd $HOME/Pulumi
    git clone https://github.com/yourgithubuser/pulumi-iac-eks.git
    cd pulumi-iac-eks
    

    インストールスクリプトを実行することでLinux上でPulumiをインストールします.
    curl -fsSL https://get.pulumi.com | sh && bash
    

    Python VirtualEnvをインストールします
    sudo apt -y install python3-virtualenv
    

    プロジェクトを作成します
    cd $HOME/Pulumi/pulumi-iac-eks/pulumi_eks_py
    
    注意: Kubernetesクラスタに与えられた名前を変更する場合は、以下のコマンドをテンプレートフォルダで実行します.
    sed -i "s/"template-"/"desiredname-"/g" *.py
    

    Python要件をインストールする
    python3 -m venv venv
    source venv/bin/activate
    python -m pip install --upgrade pip setuptools wheel
    python -m pip install -r requirements.txt
    

    最初の配備を実行し、次のコマンドを実行します.
    pulumi login
    pulumi stack init pulumi_eks_py
    

    以下のように設定します.
    pulumi config set aws:profile yourprofile
    

    設定領域
    pulumi config set aws:region us-west-2
    

    「Pulumiworth EksShand Py」プロジェクトのレビュー
    pulumi preview
    

    ワークフローを有効にする
    cd $HOME/Pulumi/pulumi-iac-eks/.github/workflows
    
    mv pull_request.yml.template pull_request.yml
    mv push.yml.template push.yml
    

    環境変数
    アクションと相互作用するように設定できる環境変数がいくつかあります.
  • デフォルトではPulumiはPulumi SaaS . これが起こるために、Githubアクションは「PulumiRadiance」トークンを通過する必要があります.

  • アマゾンウェブサービス
    AWSでは、既存のIAMユーザーを作成したり使用したりする必要があります.ご覧下さいthe Pulumi documentation page これを行うための関連AWSドキュメントへのポインタ.
    AWSユーザが手に入るとすぐに、あなたは環境変数「AWSRAGE ACTIVERHE KeyLIGHT ID」と「AWSHERSECTTRANDACHIGHLER KEY」をGITHUB秘密を使用して設定します.
    注:設定に行くと秘密に“PulumiRadioChoNesトークン”、“AwsLes AccessLes Keychen ID”と“AwsSense SecrettAccessキー”新しいリポジトリの秘密を追加します.

    変更をコミットする
    cd $HOME/Pulumi/pulumi-iac-eks/
    
    git add *
    git add .github/workflows/*
    git add .pulumi/*
    git add pulumi_eks_py/*
    git commit -m "pulumi-iac-eks"
    git push
    

    Kebernetesクラスター
    sudo snap install kubectl --classic
    aws eks list-clusters --region us-west-2 --profile yourprofile
    aws eks --region us-west-2 --profile yourprofile update-kubeconfig --name $(pulumi stack output cluster-name)
    kubectl get po --all-namespaces
    

    「Pulumiworth EksShand Py」プロジェクトを破壊する
    cd $HOME/Pulumi/pulumi-iac-eks/pulumi_eks_py
    pulumi destroy
    

    スタックから"Pulumither EksShand PY "プロジェクトを削除する
    cd $HOME/Pulumi/pulumi-iac-eks/pulumi_eks_py
    pulumi stack rm pulumi_eks_py
    

    ソース
    https://www.pulumi.com/docs/get-started/
    https://www.pulumi.com/docs/reference/pkg/
    https://www.pulumi.com/docs/intro/concepts/state/
    https://www.pulumi.com/docs/guides/continuous-delivery/github-actions/
    https://github.com/pulumi/actions