1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ざっくりGKEにデプロイ方法を書く

Posted at

事前準備

Googleのアカウント
クラスタ作成
kubectlのインストール
gcrに簡単なrailsアプリをpushしておく
作業ディレクトリの作成

早速始めよう

1.作ったクラスタ(コンテキスト)を指定する

gcloud container clusters get-credentials {cluster_name} --region asia-northeast1 --project {project_name}

これ結構大事、作業クラスタが間違ってると事案になる可能性があるので気をつけよう。 
kube-ps1等のツールを入れておくと現在のコンテキストが一瞬で可視化できるので便利。

2.namespaceを作成

kubectl create ns {namespace_name}
namespaceは簡単にいうとクラスタの中で独立した領域を作成できる

3.マニュフェストファイルの作成

kubectl --namespace={namespace_name} create deploy {app_name} -o yaml --dry-run=client --image={gcr_image} > deploy.yaml

マニュフェストファイルはpodを管理するファイル。上記のコマンドでdeploy.yamlが生成される

4.deploy.yamlの編集

    spec:
      containers:
      - image: asia.gcr.io・・・
        name: app_name
        ports:
        - containerPort: 3000
        env:

ポートを指定する。今回は3000番ポートを使用。
envは今回はRailsなのでRAILS_ENVとSECRET_KEY_BASEとDATABASE_NAMEを設定してればいいと思う。

5.デプロイ(apply)

先程のdeploy.yamlをデプロイする

kubectl -n {namespace_name} apply -f deploy.yaml

デプロイ確認

kubectl -n {namespace_name} get deploy
kubectl -n {namespace_name} get po

podが出来てることを確認する

6.アプリを外部公開する

今回はService: LoadBalancerを使う

kubectl -n {namespace_name} expose deploy {app_name} --type=LoadBalancer

IPアドレスが割り当てられるのを待つ

kubectl -n {namespace_name} get svc

でEXTERNAL-IP、PORTを確認する。

https://{EXTERNAL-IP}:{PORT}でアクセス。

Railsの初期画面が見える
スクリーンショット 2023-02-14 10.56.10.png

END

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?