はじめに
この記事は SAP Advent Calendar 2019 の12月19日分の記事として執筆しています
こんにちわ、株式会社KYOSOでエンジニアをしている上田といいます。
よろしくおねがいします。
本記事は、Cloud Foundry は、 Docker Image に対応していると聞いて
SAP Cloud Platform へデプロイを試みて失敗したときのトラブルシュートです。
デプロイが出来ない理由は、トライアル環境で試したから!
と推測するまでの問題点と解決策をまとめました。
トライアル以外の環境での実施、またはトライアル環境であっても時期次第で成功する可能性があることをご理解ください。
「いやいや、自分はトライアル環境でも成功したよ!」と言った成功体験等ございましたら
お話等伺えましたら嬉しく思います。
環境
- SAP Cloud Platform( trial ): Cloud Foundry
- PC: Macbook Pro(2017)
- CFコマンド: cf version 6.35.2+88a03e995.2018-03-15
問題1
cfコマンドの接続先(API エンドポイント)が間違っている
自分の場合、会社のCloudFoundry環境 を利用していたこともあり
cfコマンドは、トライアルとは別のAPIエンドポイントに接続している状態でした。
解決策
以下のコマンドで APIエンドポイントの変更すれば解決
cf login -a <APIエンドポイントのURL>
または
cf api <APIエンドポイントのURL>
cf login
APIエンドポイントのURLは、SAP Cloud Platform Cockpit から確認出来ます。
問題2
cf コマンドを実行した際のエラー内容が不明
解決策
CF_TRACE=true
を環境変数に設定して、詳細なログが見えるようにする。
環境変数CF_TRACE
の値を true
にすると、
CloudFoundry を操作するためのAPI呼び出しが見えるようになるので
どのステップでエラーが発生しているのか、コンソール上に表示されます。
問題3
SAP CP で Docker Image のデプロイが出来ない
解決策
以下のコマンドで、Diego( Cloud Foundry のコンテナ管理システム )を有効にする。
cf enable-feature-flag diego_docker
トライアル環境では、初期状態として Diego が無効な状態のようで、明示的に有効化する必要があるようです。
※このコマンド実行時に権限不足で実行出来ないことが発覚、 トライアル環境では Docker Image の利用は出来ないと判断しました。。。
エラー内容
最後に
流石にトライアル環境で Docker 利用は考えが甘かったかなと反省しつつ
自分が遊ぶ環境を会社に買ってもらえないかチラ見する所存です。