最近terraformをキャッチアップしているので、WSLだと、どのようにセットアップするかなどをまとめる。
準備: VS Codeをwslにアクセスする
Remote Developmentを利用する。
MSのドキュメントまんまでできる
docs.microsoft.com
Ctrl+Shift+P
してからRemote-WSL
と検索してWSLに接続できる。
この記事だと関係ないけど一応
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
公式でバイナリの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
消えてる!
おしまい