Skip to content

Embulkのバッチ処理をGoogle Cloud PlatformのKubernetes Engineに構築する為の雛形です。

Notifications You must be signed in to change notification settings

kosukekurimoto/k8s-cronjob-embulk-blueprint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

k8s-cronjob-embulk-blueprint

Embulkのバッチ処理をGoogle Cloud Platform(GCP)のKubernetes Engine(k8s)に構築する為の雛形です。
KubernetesのCronJobを使って定期的に実行する事を想定しています。

事前準備

gcloud、kubectl コマンドラインツールのインストール

  1. Google Cloud SDK(gcloud)をインストール
  2. Kubernetes コマンドラインツール(kubectl) をインストール
$ gcloud components install kubectl
  1. gcloud コマンドライン ツールのデフォルトプロジェクト、ゾーンをセット
$ gcloud config set project [GCP_PROJECT_ID]
$ gcloud config set compute/zone asia-northeast1-a
  1. クラスタを作成
# 数分かかる場合がある
$ gcloud container clusters create [クラスタ名] --num-nodes=3
# 作成したクラスタを確認
$ gcloud compute instances list
NAME           ZONE               MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP   STATUS
instance-1     asia-southeast1-b  n1-highcpu-16               X.X.X.X      X.X.X.X       RUNNING
  1. クラスタの認証情報を取得
gcloud container clusters get-credentials [クラスタ名]

コンテナイメージの作成・変更

  1. このリポジトリをダウンロード
$ git clone https://github.com/kosukekurimoto/k8s-cronjob-embulk-blueprint.git
$ cd k8s-cronjob-embulk-blueprint
  1. cronjob-embulk-example.yamlの修正
image: gcr.io/[GCP_PROJECT_ID]/k8s-cronjob-embulk:v1 # GCP_PROJECT_IDを修正
  1. コンテナイメージの作成
$ docker build -t gcr.io/[GCP_PROJECT_ID]/k8s-cronjob-embulk:v1 .
# 作成したイメージを確認
$ docker images
REPOSITORY                     TAG                 IMAGE ID            CREATED             SIZE
gcr.io/my-project/hello-app    v1                  25cfadb1bf28        10 seconds ago      54 MB
  1. Container Registry にコンテナイメージをプッシュ
$ gcloud docker -- push gcr.io/[GCP_PROJECT_ID]/k8s-cronjob-embulk:v1

Deploy

  • CronJobの登録(更新)
$ kubectl apply -f cronjob-embulk-example.yaml

TIPS

  • gcloud コマンドラインツールのアップデート
$ gcloud components update
  • CronJobの確認
$ kubectl get cronjobs
  • CronJobの削除
$ kubectl delete cronjobs [CronJob名]

About

Embulkのバッチ処理をGoogle Cloud PlatformのKubernetes Engineに構築する為の雛形です。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published