このアプリケーションをKubernetesクラスターにデプロイし、Cloudantデータベースに接続するには、以下の指示に従ってください。
git clone https://github.com/IBM-Cloud/get-started-node
cd get-started-node-
ibmcloud cr 名前空間を実行して、コンテナレジストリ名前空間を検索します。名前空間をリストする場合はibmcloud cr namespace-listを実行してください。 名前空間が存在しない場合は、ibmcloud cr namespace-add <name>を使用して作成します。 -
ibmcloud cr infoを実行して、Container Registry を特定します。 -
REGISTRYとNAMESPACEを適切な値に置き換えて、以下のコマンドを実行して、Dockerイメージを(
-t)タグ付けしてビルドします。docker build . -t <REGISTRY>/<NAMESPACE>/myapp:v1.0.0
例: docker build . -t us.icr.io/mynamespace/myapp:v1.0.0
-
DockerイメージをIBM Cloudのコンテナレジストリにプッシュします。
docker push <REGISTRY>/<NAMESPACE>/myapp:v1.0.0
- IBM CloudでCloud Foundryクラスタを作成する (リンク先は英語)。
- アクセスタブの指示に従って
kubectlcliをセットアップします。
-
Available authentication methods(利用可能な認証方法) にて
Use both legacy credentials and IAM (従来の認証情報とIAMの両方を使用する)を選択する。 -
サービス資格情報から新規資格情報を選択して作成し、urlフィールドの値をコピーします。
-
Cloudant資格情報を使用してKubernetesシークレットを作成します。
kubectl create secret generic cloudant --from-literal=url=<URL>例:
kubectl create secret generic cloudant --from-literal=url=https://username:passw0rdf@username-bluemix.cloudant.com<REGISTRY>と<NAMESPACE>をkubernetes/deployment.yamlの適切な値に置き換えます- デプロイ情報を作成します:
kubectl create -f kubernetes/deployment.yaml-
有料 Cluster: 外部IPとロードバランサーを使用してサービスを公開します。
kubectl expose deployment get-started-node --type LoadBalancer --port 8080 --target-port 8080 -
無料 Cluster: Worker IPとNodePortを使用します。
kubectl expose deployment get-started-node --type NodePort --port 8080 --target-port 8080
ポッドの ステータス が実行中であることを確認します。
kubectl get pods -l app=get-started-node標準 (有料) Cluster:
kubectl get service get-started-nodeを使用してLoadBalancer Ingress IPを特定します。http://<EXTERNAL-IP>:8080/にアクセスします。
無料 Cluster:
ibmcloud cs workers YOUR_CLUSTER_NAMEを使用してWorker Public IPを特定します。kubectl describe service get-started-nodeを使用してNode Portを識別します。http://<WORKER-PUBLIC-IP>:<NODE-PORT>/でアプリケーションにアクセスします。
kubectl delete deployment,service -l app=get-started-node
kubectl delete secret cloudant