Closed8

JetBrainsのJunieを触ってみる

horie-thorie-t

JunieをIntelliJで使ってみる。お題は「AWS EKSの構築」。

準備

IntelliJ IDEA 2025.1.1.1をインストールして、「JetBrains AI Assistant」、「JetBrains Junie」のプラグインをインストールする。

horie-thorie-t

EKSのクラスタを作成

画面の下部に[Brave Mode]とあるのが面白い。

$ tree terraform/
terraform/
├── README.md
├── main.tf
├── outputs.tf
├── providers.tf
├── terraform.tfstate
└── variables.tf

とコードを生成してくれた。
Terraformのproviderやmoduleのバージョンが古いので手作業でバージョンを更新した。更にEKSモジュールで以下を追加しておく。

  cluster_endpoint_public_access = true
  enable_cluster_creator_admin_permissions = true

  enable_irsa               = true

  cluster_addons = {
    kube-proxy = {}
    vpc-cni    = {}
    # ここが大事
    coredns = {
      configuration_values = jsonencode({
        computeType = "Fargate"
      })
    }
  }

その後、terraform applyでクラスタを作成し、 aws eks update-kubeconfig --region us-west-2 --name <クラスタ名> でkubectlのアップデートをしておく。

horie-thorie-t

.gitignoreのメンテナンス

Terraformの設定を追加してくれたので、コミットした。

horie-thorie-t

生成したREADMEの和訳

READMEが英語で生成されたので、和訳してもらう。

特に問題なく翻訳できた。

horie-thorie-t

HelmをTerraformで使えるようにする

Terminalでの実行の確認を求めてくるので実行してみる。(トークンを使用しすぎるから多用しない方がいい気もする)

The Terraform configuration has been updated to include the Helm provider for managing Kubernetes applications. However, an error occurred indicating that the required Helm provider is missing and needs to be installed.

失敗している。「Open」をクリックすると実行結果が表示される。

initが先に必要だったからinitの許可を求めている。

相変わらずバージョンが古いのでそこだけ手動で修正する。

horie-thorie-t

ArgoCDのインストール

バージョンを修正して、service.typeをLoadBalancerからClusterIPに変更する。FargageでLoadBalancerを紐付けるのはちょっと面倒くさい。

  # Basic values for ArgoCD
  set {
    name  = "server.service.type"
    value = "ClusterIP"
  }

apply後に

$ kubectl get services -A
NAMESPACE     NAME                               TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
argocd        argocd-applicationset-controller   ClusterIP   172.20.252.93    <none>        7000/TCP                 11m
argocd        argocd-dex-server                  ClusterIP   172.20.180.179   <none>        5556/TCP,5557/TCP        11m
argocd        argocd-redis                       ClusterIP   172.20.217.218   <none>        6379/TCP                 11m
argocd        argocd-repo-server                 ClusterIP   172.20.242.57    <none>        8081/TCP                 11m
argocd        argocd-server                      ClusterIP   172.20.137.118   <none>        80/TCP,443/TCP           11m
argocd        argocd-server-metrics              ClusterIP   172.20.17.51     <none>        8083/TCP                 11m
default       kubernetes                         ClusterIP   172.20.0.1       <none>        443/TCP                  36m
kube-system   eks-extension-metrics-api          ClusterIP   172.20.137.168   <none>        443/TCP                  36m
kube-system   kube-dns                           ClusterIP   172.20.0.10      <none>        53/UDP,53/TCP,9153/TCP   34m

Serviceが起動しているのでPort forwardingを実行。

$ kubectl port-forward svc/argocd-server 8080:80 --namespace argocd 
Forwarding from 127.0.0.1:8080 -> 8080
Forwarding from [::1]:8080 -> 8080

ブラウザで https://localhost:8080/ を開く。

horie-thorie-t

AWS LoadBalancer Controllerをインストールする

こちらを先にやるべきだったか。以下を依頼する。

TerraformでHelmチャートを使用してaws-load-balancer-controllerをインストールしてください。

kube-systemのFargate Profileを2重定義していたので修正依頼する。

kube-systemのfargateが2箇所で定義されています。

二重定義は消えた。

applyしてもエラーは発生していない。

horie-thorie-t

ArgoCDをALB経由で公開する

Fargageの場合のやり方は知らないみたい。

このスクラップは6ヶ月前にクローズされました