irisuinwl’s diary

サークル不思議(略)入巣次元の、数学や技術的なことを書きます。

WSL2でterraform

最近terraformをキャッチアップしているので、WSLだと、どのようにセットアップするかなどをまとめる。

準備: VS Codeをwslにアクセスする

Remote Developmentを利用する。

MSのドキュメントまんまでできる

docs.microsoft.com

Ctrl+Shift+PしてからRemote-WSLと検索してWSLに接続できる。

準備: gcp sdkをインストール

この記事だと関係ないけど一応

curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-308.0.0-linux-x86_64.tar.gz
tar -zxvf google-cloud-sdk-308.0.0-linux-x86_64.tar.gz
cd google-cloud-sdk
./install.sh
./bin/gcloud init --console-only

terraformのインストール (optional)

公式でバイナリのzipを落としてきて解凍してbinに置けば良い

curl https://releases.hashicorp.com/terraform/0.13.5/terraform_0.13.5_linux_amd64.zip -O terraform_0.13.5_linux_amd64.zip
unzip terraform_0.13.5_linux_amd64.zip
cp terraform /usr/local/bin/

tfenvのインストール

terraformはバージョン依存で前つくったtfファイルが動かないことがあり、バージョン依存回避のためtfenvをインストールすると良いと聞いたので、tfenvを入れる。

公式repoのインストール方法を通りでOK

github.com

git clone https://github.com/tfutils/tfenv.git ~/.tfenv
echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash_profile
source ~/.bashrc

GKEをtfする

こちらの記事にあるtfファイルを使ってClusterをデプロイします。

qiita.com

terraform init
export TF_VAR_project=$GCP_PROJECT
terraform plan
terraform apply

できた!

sampleアプリをデプロイする

gcloud container clusters get-credentials primary-cluster
kubectl create deployment     hello-app     --image=gcr.io/${GCP_PROJECT}/hello-app:v1
kubectl expose deployment     hello-app     --type="LoadBalancer" --port     8080

これでhttp通信できているか確認する

terraform destroy

消えてる!

おしまい