オリジナルのイメージをつくるための Dockerfile はこちらです。php -S するだけの小さな Docker イメージ
【はじめての kubernetes】オリジナルイメージをデプロイする。(コマンド編) の続きです。
前提
- kubectl
- gcloud
- レジストリにイメージアップ済み(冒頭のサンプルイメージを push しておく)
方針
- ReplicationController
- Service
の2つの yaml ファイルを用意して、それを走らせることでデプロイしたいと思います。
最終的には、IPアドレスにアクセスしてサイトが見れるようにします。
レシピ
レジストリにイメージアップまで済ませておいてください。image: gcr.io/<PROJECT-ID>/<IMAGE>:v1
で使います。
rc.yml
apiVersion: v1
kind: ReplicationController
metadata:
name: rc1
spec:
replicas: 3
selector:
app: hoge
template:
metadata:
labels:
app: hoge
spec:
containers:
- name: container1
image: gcr.io/<PROJECT-ID>/<IMAGE>:v1
ports:
- containerPort: 7788
service.yml
apiVersion: v1
kind: Service
metadata:
name: service-yml
spec:
type: LoadBalancer
ports:
- port: 7788
selector:
app: hoge
$ kubectl create -f rc.yml
$ kubectl create -f service.yml
以上で調理は終わります。しばらく待つと IP を確認できます。
$ kc get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service-yml 10.3.243.17 35.187.198.199 7788:31948/TCP 1m
できました。
あとかたづけ
$ kubectl delete services service-yml
$ kubectl delete rc rc1
レプリケーションコントローラーを削除して、ちょっとすると pod も削除されます。
以上です。 🙂