tosin2013.quarkus_cafe_demo_role
ドキュメント
完全なドキュメントはGitHubページサイトでご覧ください: quarkuscoffeeshop.github.io
QuarkusCoffeeshop インストール
注意: Ansibleをインストールする必要があります。詳細はここを参照してください: https://docs.ansible.com/ansible/latest/installation_guide/index.html
QuarkusCoffeeshop Ansibleロールは、コーヒーショップのマイクロサービス、Crunchy PostgreSQLデータベース、AMQ Streams(Kafka)の基本的なインストールを行います。
QuarkusCoffeeshopロールは、Quarkus、AMQ Streams(Kafka)、MongoDBで作成されたイベント駆動のデモアプリケーションを展開します。このアプリケーションはOpenShift(Kubernetes)にデプロイされます。ソースコードは quarkuscoffeeshop アプリケーションのサポートドキュメントもここで見つかります: こちら。
要件
- OpenShift 4.12 以上のクラスターがインストールされていること
- Docker または podman
現在のテスト環境
- OpenShift 4.12.2
- OpenShift Pipelines: 1.9.0
- AMQ Streams: 2.3.0-0odm
- Postgres Operator: v5.3.0
- OpenShift Quay: v3.8.1
- OpenShift GitOps: v1.7.1
クイックスタート
標準デプロイメント用の環境変数を設定
このコマンドは、以下のサービスを持つ単一クラスターにアプリケーションをデプロイします。
- AMQ Streams
- Postgres Operator 設定
- quarkus coffeeshop helm デプロイ
$ cat >source.env<<EOF
CLUSTER_DOMAIN_NAME=clustername.example.com
TOKEN=sha256~XXXXXXXXXXXX
ACM_WORKLOADS=n
AMQ_STREAMS=y
CONFIGURE_POSTGRES=y
MONGODB_OPERATOR=n
MONGODB=n
HELM_DEPLOYMENT=y
DELETE_DEPLOYMENT=false
DEBUG=-v
EOF
$ podman run -it --env-file=./source.env quay.io/quarkuscoffeeshop/quarkuscoffeeshop-ansible:v4.12.1
ACM WORKLOADSのための環境変数を設定
- Gogsサーバー
- OpenShift Pipelines
- OpenShift GitOps
- Quay.io
- AMQ Streams
- Postgresテンプレートデプロイメント
- homeoffice Tektonパイプライン
- quarkus-coffeeshop Tektonパイプライン
$ cat >source.env<<EOF
CLUSTER_DOMAIN_NAME=clustername.example.com
TOKEN=sha256~XXXXXXXXXXXX
ACM_WORKLOADS=y
AMQ_STREAMS=y
CONFIGURE_POSTGRES=y
HELM_DEPLOYMENT=n
DELETE_DEPLOYMENT=false
DEBUG=-v
EOF
$ podman run -it --env-file=./source.env quay.io/quarkuscoffeeshop/quarkuscoffeeshop-ansible:v4.12.1
オプション: helm デプロイメントのための名前空間を変更
デフォルトは quarkuscoffeeshop-demo
$ cat >source.env<<EOF
CLUSTER_DOMAIN_NAME=clustername.example.com
TOKEN=sha256~XXXXXXXXXXXX
ACM_WORKLOADS=n
AMQ_STREAMS=y
CONFIGURE_POSTGRES=y
MONGODB_OPERATOR=n
MONGODB=n
HELM_DEPLOYMENT=y
NAMESPACE=changeme
DELETE_DEPLOYMENT=false
DEBUG=-v
EOF
$ podman run -it --env-file=./source.env quay.io/quarkuscoffeeshop/quarkuscoffeeshop-ansible:v4.12.1
スクリーンショット
http://quarkuscoffeeshop-web-quarkus-cafe-demo.apps.example.com 例
使用法
- デフォルトのウェブページ 5.0.1-SNAPSHOT
- http://quarkuscoffeeshop-web-quarkus-cafe-demo.apps.example.com/ このエンドポイントは、クラスターに入るイベントを表示するために使用されます
- デフォルトのウェブページ v3.3.1
- http://quarkuscoffeeshop-web-quarkus-cafe-demo.apps.example.com/cafe このエンドポイントも、クラスターに入るイベントを表示します
skip_quarkus_cafe_customermock
を展開すると、自動的にイベントがquarkus cafeダッシュボードにプッシュされます。- 手動でイベントをAMQにプッシュしたい場合は、以下のコマンドを使用します。
export ENDPOINT="quarkuscoffeeshop-web-quarkus-cafe-demo.apps.ocp4.example.com"
curl --request POST http://${ENDPOINT}/order \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
-d '{
"beverages": [
{
"item": "COFFEE_WITH_ROOM",
"name": "Mickey"
},
{
"item": "CAPPUCCINO",
"name": "Minnie"
}
],
"kitchenOrders": [
{
"item": "CAKEPOP",
"name": "Mickey"
},
{
"item": "CROISSANT",
"name": "Minnie"
}
]
}'
開発者ノート
コードを開発し、修正するためには
- OpenShift 4.10 以上のクラスターがインストールされていること
- Ansibleが機械にインストールされていること
- oc CLIをインストールする必要があります
- Ansible community.kubernetesモジュールをインストールする必要があります
ansible-galaxy collection install community.kubernetes
- Helm バイナリをインストールする
- Quarkus CoffeeShop 5.0.1-SNAPSHOTデプロイメントのためのPostges Operator
- pip3
ロール変数
タイプ | 説明 | デフォルト値 |
---|---|---|
deployment_method | docker または s2i ビルド | docker |
skip_amq_install | Red Hat AMQインストールをスキップする | false |
skip_mongodb_operator_install | MongoDB Operatorインストールをスキップする | false |
single_mongodb_install | シングルインスタンスmongoをスキップする | false |
skip_quarkuscoffeeshop_helm_install | quarkuscoffeeshop helmチャートのインストールをスキップする | false |
openshift_token | OpenShiftログイントークン | 123456789 |
openshift_url | OpenShiftターゲットURL | https://master.example.com |
project_namespace | quarkus-cafeのOpenShiftプロジェクト名 | quarkus-cafe-demo |
insecure_skip_tls_verify | 不正なTLS検証をスキップする | true |
default_owner | テンプレートファイルのデフォルトオーナー | root |
default_group | テンプレートファイルのデフォルトグループ | root |
delete_deployment | quarkus-cafe-demoのデプロイメントとプロジェクトを削除する | false |
amqstartingCSV | Red Hat AMQ CSVバージョン | amqstreams.v1.6.1 |
mongodbstartingCSV | MongoDB Ops Managerバージョン | mongodb-enterprise.v1.8.0 |
config_location | アプリケーションテンプレートのデフォルトの場所 | "/tmp/" |
version_barista | デフォルトのコンテナバーリスタタグ | 5.0.0-SNAPSHOT |
version_counter | デフォルトのコンテナカウンタータグ | 5.0.1-SNAPSHOT |
version_customermocker | デフォルトのコンテナカスタマモッカータグ | 3.0.1 |
version_kitchen | デフォルトのコンテナキッチンタグ | 5.0.0-SNAPSHOT |
version_web | デフォルトのコンテナウェブタグ | 5.0.1-SNAPSHOT |
helm_chart_version | Qaurkus Cafe Helm Chartのバージョン | 3.4.4 |
pgsql_username | デフォルトのPostgresユーザー | coffeeadmin |
postgres_password | デプロイメントに使用されるPostgresパスワード | 変更する必要があります |
pgsql_url | デフォルトPostgres URL | 'jdbc:postgresql://coffeeshopdb:5432/coffeeshopdb?currentSchema=coffeeshop' |
storeid | ウェブフロントエンド用ストアID | RALEIGH |
quarkus_log_level | Quarkusコーヒーショップのログレベル | INFO |
quarkuscoffeeshop_log_level | マイクロサービスのログレベル | DEBUG |
deploy-quarkuscoffeeshop-ansible.shシェルスクリプトをダウンロード
$ curl -OL https://raw.githubusercontent.com/quarkuscoffeeshop/quarkuscoffeeshop-ansible/master/files/deploy-quarkuscoffeeshop-ansible.sh
$ chmod +x deploy-quarkuscoffeeshop-ansible.sh
$ ./deploy-quarkuscoffeeshop-ansible.sh -d ocp4.example.com -t sha-123456789 -p 123456789 -s ATLANTA
コンテナイメージをビルドする
podman build -t quarkuscoffeeshop-ansible:v0.0.2 -f Dockerfile
コンテナをテストする
podman run -it --env-file=./source.env quarkuscoffeeshop-ansible:v0.0.2 bash
または
podman run -it --env-file=./source.env localhost/quarkuscoffeeshop-ansible:v0.0.2
古いコンテナを削除する
podman rm $(podman ps -a | grep Exited | awk '{print $1}')
podman rmi localhost/quarkuscoffeeshop-ansible:v0.0.2
トラブルシューティング
不適切なインストール後にkafka CRDを強制削除する
oc get crds -o name | grep '.*\.strimzi\.io' | xargs -r -n 1 oc delete
やること
- Ansible k8s – Kubernetes (K8s) オブジェクトの管理デプロイメント例
ライセンス
GPLv3
作成者情報
このロールは2020年に トシン・アキノショ によって作成されました。
The quarkus-cafe-demo-role will deploy a event-driven demo application built with Quarkus, AMQ Streams (Kafka).
ansible-galaxy install tosin2013.quarkus_cafe_demo_role