このアプリケーションを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クラスタを作成する (リンク先は英語)。
- アクセスタブの指示に従って
kubectl
cliをセットアップします。
-
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