2.10.2. Kompose の使用
Kompose を使用して Docker Compose プロジェクトを変換するには、以下の手順に従います。
CDK を起動し、OpenShift クラスターと通信できるようにします。
$ minishift start Starting local OpenShift cluster using 'kvm' hypervisor... -- Checking OpenShift client ... OK -- Checking Docker client ... OK -- Checking Docker version ... OK -- Checking for existing OpenShift container ... OK ...
サンプル Docker Compose ファイル をダウンロードするか、または独自のファイルを使用します。
wget https://raw.githubusercontent.com/kubernetes/kompose/master/examples/docker-compose.yaml
Docker Compose ファイルを OpenShift に変換します。docker-compose.yaml ファイルと同じディレクトリーで
kompose convert --provider=openshift
を実行します。$ kompose convert --provider=openshift INFO OpenShift file "frontend-service.yaml" created INFO OpenShift file "redis-master-service.yaml" created INFO OpenShift file "redis-slave-service.yaml" created INFO OpenShift file "frontend-deploymentconfig.yaml" created INFO OpenShift file "frontend-imagestream.yaml" created INFO OpenShift file "redis-master-deploymentconfig.yaml" created INFO OpenShift file "redis-master-imagestream.yaml" created INFO OpenShift file "redis-slave-deploymentconfig.yaml" created INFO OpenShift file "redis-slave-imagestream.yaml" created
ここでは、
kompose up --provider=openshift
を使用して OpenShift に直接変換およびデプロイできます。$ kompose up --provider=openshift INFO We are going to create OpenShift DeploymentConfigs, Services and PersistentVolumeClaims for your Dockerized application. If you need different kind of resources, use the 'kompose convert' and 'oc create -f' commands instead. INFO Deploying application in "myproject" namespace INFO Successfully created Service: frontend INFO Successfully created Service: redis-master INFO Successfully created Service: redis-slave INFO Successfully created DeploymentConfig: frontend INFO Successfully created ImageStream: frontend INFO Successfully created DeploymentConfig: redis-master INFO Successfully created ImageStream: redis-master INFO Successfully created DeploymentConfig: redis-slave INFO Successfully created ImageStream: redis-slave Your application has been deployed to OpenShift. You can run 'oc get dc,svc,is,pvc' for details.
CDK を使用して新たにデプロイされたアプリケーションにアクセスします。
デプロイメント後に、サービスにアクセスするために OpenShift ルートを作成する必要があります。
oc
を使用してfrontend
サービスのルートを作成します。$ oc expose service/frontend route "frontend" exposed
minishift
を使用してfrontend
サービスにアクセスします。$ minishift openshift service frontend --namespace=myproject --in-browser Opening the service myproject/frontend in the default browser...
デプロイされたコンテナーの概要については、OpenShift の GUI にアクセスすることもできます。
$ minishift console Opening the OpenShift Web console in the default browser...