tjtjtjのメモ

自分のためのメモです

keycloak ユーザーストレージSPI

keycloak を試した時のメモ ユーザー・ストレージSPI keycloak-documentation.openstandia.jp ユーザー・ストレージSPIを使用して、外部ユーザー・データベースとクレデンシャル・ストアに接続するように、Keycloakの拡張機能を実装できます。組み込みのLDAP…

cuelang kubernetes チュートリアル#2

cuelang kubernetes チュートリアル#2 前回はディレクトリに散らばった yaml を cue にした。今回は cue をスリムにしていく。クイックダーティーコンバージョン https://github.com/cuelang/cue/tree/master/doc/tutorial/kubernetes#quick-n-dirty-convers…

cuelang kubernetes チュートリアル#1

cuelang を触っている。まだ入門でたとは言えない感じだが、kubernetes チュートリアルが面白い。2周目で人に説明できるくらいになってきた。 https://github.com/cuelang/cue/tree/master/doc/tutorial/kubernetes cue import オプション cue import ./... …

cuelang を試す

在宅勤務で生活リズムが変化し、しばらく勉強時間が取れなくなった。 早起きし朝を勉強に充てている。今週は職場で教えてもらった cuelang を試している。 cuelang.org github.com 今回できたのは著者リストと著作物リストの定義。このリストに惑わされ時間…

go-kit を試す #1

ここを参考に go-kit を試した。http で受けたメッセージを amqp に publish する。 tech.orylab.com サービスのインタフェース定義 サービスはインタフェースで定義する type PublishService interface { Publish(message string) (string, error) } サービ…

kong2.0 ハイブリッドモード

kong2.0 が出ていた。ポイントは次の3点。 hybrid mode golang pdk acme support ハイブリッドモード https://docs.konghq.com/2.0.x/hybrid-mode/ コントロールプレーン/データプレーン分離 コントロールプレーン(cp)のkong db アクセス有 KONG_ROLE=contro…

ローカルコンテナからリモートdockerを操作

コンテナからコンテナを操作するその3 リモートDockerホストへのSSH接続 # DOCKER_HOST=ssh://root@192.168.0.13 # export DOCKER_HOST # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES # docker run hello-world # docker run hello…

Docker outside of Docker

コンテナからコンテナを操作するその2 コンテナ側からホストのdocker.sock (/var/run/docker.sock)をマウントすることでコンテナ上のDockerコマンドはホスト側のDocker環境で実行される。 https://blog.nijohando.jp/post/docker-in-docker-docker-outside-o…

Docker in Docker

ちょっと試した。 What is Docker in Docker? hub.docker.com Docker内でDockerを実行することは一般的に推奨されませんが、Docker自体の開発など、正当な使用例がいくつかあります。 dind dind のイメージをrun。privileged は特権モード $ docker run -it …

kafka isr, acks を確認

min.insync.replicas=1 トピック作成とトピック確認 bin/kafka-topics.sh --zookeeper 192.168.0.21:2181 \ --create --topic topic1 \ --replication-factor 2 --partitions 3 --config min.insync.replicas=1 ↓↓↓ Created topic topic1. bin/kafka-topics.…

kafka コンシューマグループ

コンシューマグループを試した。 あるトピックに複数のコンシューマを接続すると、各コンシューマーが同じメッセージを受信する。 コンシューマグループを使うと同一グループのコンシューマは、同じメッセージを受信しない。同一グループのコンシューマは別…

kafka メッセージの削除

kafka を実験しているとトピックを削除するのでなくメッセージをお掃除したいときがある。kafka-delete-records.shでできるようだ。 削除前の確認 パーティション毎のメッセージ確認 # bin/kafka-console-consumer.sh --bootstrap-server 192.168.0.21:9092 …

kafka レプリケーションパーティションを試す その2

パーティションするがレプリケーションしない場合を試した。 トピック作成 # bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic partitioned-topic Created topic partitioned-topic. # bin/kafka-to…

kafka レプリケーションパーティションを試す その1

中途半端 トピック作成 # bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 3 --topic replicated-topic Created topic replicated-topic. トピック確認 list をみる # bin/kafka-topics.sh --list --zookeepe…

kafka-connect-jdbc sink を試した

source の次は sink も試します。 データベース準備 mysql> create database myjdbc2; Query OK, 1 row affected (0.00 sec) mysql> use myjdbc2; Database changed mysql> show tables; Empty set (0.00 sec) コンシューマーでメッセージ確認 >bin\windows\…

kafka-connect-jdbc source を試した

プラグイン準備 ここから ダウンロード https://www.confluent.io/hub/confluentinc/kafka-connect-jdbc kafka-connect-jdbc-5.3.1.jar を C:\opt\kafka2\libs に配置 mysql-connector準備 ここからダウンロード https://mvnrepository.com/artifact/mysql/m…

kafka connect してみる

kafka connect の FileStreamSource を試した。 properties これから使う config 内の propertiesファイルを確認する。トピックは connect-test。 入口が test.txt。出口がtest.sink.txt。オフセットを /tmp/connect.offsets に記録するんだろう。 connect-s…

Kafka windows php

windows10 で kafka + php + rdkafka を試したときのメモ。 使ったもの jdk 11.0.2 kafka 2.2.1 https://kafka.apache.org/downloads#2.2.1 C:\opt\kafka22 に配置 PHP 7.1.33 VC14 x64 Thread Safe (2019-Oct-23 12:30:06) https://pecl.php.net/package/rd…

kafka あとくされなく気軽に試したい

vm 作り直すのも面倒。docker でなんとかしたい。http://wurstmeister.github.io/kafka-docker/ でやるのが有名のようだ。が実際やってみるとメンドクサイ。 こっちが楽じゃないか。 hub.docker.com 気軽に試す kafka と zookeeper 起動 $ curl -sSL https:/…

fluent-plugin-grafana-loki を再度試した

準備 loki docker run -d -p 3100:3100 \ --net=loki \ --name=loki \ grafana/loki grafana docker run -d -p 3000:3000 \ --net=loki \ --name=grafana \ grafana/grafana fluent-plugin-grafana-loki docker run -d -p 24224:24224 \ -e LOKI_URL=http://…

kong プラグイン配布 インストール アンインストール

前回で kong は開発環境も含んでいるのだと実感した。今回は開発したプラグインの配布について。 docs.konghq.com Packaging sources .rockspec のディレクトリへ移動し、パッケージング。luarocks pack に失敗する。原因は zip がない、だと? $ cd /kong-p…

kong プラグイン書いてみた

ヘッダ 'asdf:asdf' がなければ 400 をレスポンスするプラグインを書いてみた。 ヘッダ を参照するには kong.request kong.request.get_header(name) 400をレスポンスするには kong.response kong.response.exit 参考 key-auth ソース /kong-plugin/kong/plu…

kong 初めてのプラグイン

kong は OpenResty に埋め込まれているようだ。Embedding Kong in OpenResty なので kong のプラグインは lua で書くと。。。どこにどう書いたら kong にプラグインを認識されられるのか、このヘン読んでもよくわからなかった(/usr/local/kong だったら /us…

kong request-transformer

kong hub には多数のプラグインが並んでいる。 docs.konghq.com その中の request-transformer を使ってみる サービスとルート service:prac1 作成。向き先は httpbin $ curl -i -X POST \ --url http://localhost:8001/services/ \ --data 'name=prac1' \ -…

kong Adding Consumers

kongにコンシューマを追加する方法を学ぶ。 ここを読みながら kong コンシューマとは Consumerオブジェクトは、サービスのコンシューマーまたはユーザーを表します。 Kongをプライマリデータストアとして使用するか、または消費者リストをデータベースにマッ…

kong enabling-plugins

kongグにプラグインを追加する方法を学ぶ ここを読みながら 1. Configure the key-auth plugin プラグイン登録前確認 $ curl -i -X GET \ --url http://localhost:8001/services/example-service/plugins/ HTTP/1.1 200 OK Date: Tue, 24 Sep 2019 10:27:23 …

kong service, routes

service object ってなんだろう 前回は kong の service を追加した。ドキュメントによると、 サービスエンティティは、その名前が示すように、独自のアップストリームサービスのそれぞれの抽象化です。サービスの例としては、データ変換マイクロサービス、…

kong 普通に試す

何もわからないがとりあえず進める network 作って, cassandra 立ち上げて, マイグレーションして、kong 起動 $ docker network create kong-net $ docker run -d --name kong-database \ --network=kong-net \ -p 9042:9042 \ cassandra:3 docker run --rm …

kong DBレスモードを試す

インストール docker DBレスモード ここら辺から docker ネットワーク作成 $ docker network create kong-net 0598ab6e41283c8cac2e0f860f1a961641705176d1e0699965547c96ec8cf1e2 docker ボリューム作成 $ docker volume create kong-vol kong-vol $ docker…

runc やってみる

コンテナランタイムの全体像をつかむ これが分かり易かった medium.com はじめてのrunC 次にこれを読んでやることを確認 qiita.com runc をビルド+インストール ここみながら make で失敗 $ go get github.com/opencontainers/runc $ cd $GOPATH/src/github.…