2023-08-01から1ヶ月間の記事一覧
pkg.go.dev Request.Context()を使うことでクライアントが切断したことをアプリケーションから検知することができる。一般的なhttpでの処理は以下のようになっている。そのうち5番まで処理が進んだ状態でそこから処理キャンセルをすることができるというので…
kubernetes.github.io ingress-nginxにはOpenTracingを入れれるオプションがあったので使ってみる 環境 kind ingressのデプロイ $ kubectl apply -f https://raw.githubusercontent.com/Kong/kubernetes-ingress-controller/master/deploy/single/all-in-one…
コネクションマイグレーションは新幹線乗るたびに早く普及して欲しいと思っている(通信環境安定化もして欲しい、、)https://t.co/N4OQxmGCD8— RyuichiWatanabe@gurasan (@ryuichi_1208) 2023年8月18日 こんな投稿があったりして手元で試すにはどうやれば良い…
kubebuilder kubernetes-sigs/kubebuilder Kubernetesを拡張するためのカスタムコントローラー/オペレーターを開発するためのフレームワーク client-go kubernetes/client-go KubernetesのAPIを実行するためのgoのモジュール controller-tools kubernetes-si…
open-telemetry/opentelemetry-collector OpenTelemetry Collectorのコアコードが置いてある open-telemetry/opentelemetry-collector-contrib コレクターの実験的およびベンダー固有の拡張機能が含まれている docker-composeとかサクッと試す場合はこっちを…
opentelemetry-collectorでCPU使用率やメモリ使用量を取ることもできるのでそちらを使ってみます。 hostmetricsreceiverを使う CPUやメモリなどを取るにはhostmetricsreceiverというreciverが用意されているのでそちらを使います。設定もシンプルで取りたい…
opentelemetry-goを使ってメトリクスをotlpで送信して標準出力に出すまでのメモです otel-collectorlのconfig fileをstdoutにすることで送信先をstdoutにすることができます。送信されてきたメトリクスをこれでプロセスの出力としてみることができます。 rec…
attributesprocessorというのがあるのでこちらを利用することで特定の属性を追加してデータの投入を行うことができる。 github.com processors: batch: # send_batch_size: 10000 # timeout: 10s attributes: actions: - key: hoge value: custom_value acti…
Jaegerとは Jaegerは、Uber Technologies社によって開発され、その後オープンソース化された分散トレーシングシステムです。Goで実装されています。CNCFの卒業プロジェクトで多くの環境で導入されている実績もあるようです。アプリケーションの内部の処理フ…
opentelemetry.io Propagators APIを用いることでサービスAのトレース情報をサービスBに伝播することができる。これができればJaegurとかから以下のように一つのトレースで複数サービスを見ることができる。 やり方 とても簡単で 後続のサービスへspanのCont…
probabilisticsamplerprocessorというプロセッサーがあるのでこちらを利用することで実現が可能。ただしlogsはalphaでtraceもbetaなので今後仕様が変わる可能性がある。 パイプラインは、データがコレクター内でたどるパスを定義するもの processors: probab…
aws-sdk-go-v2を使ったサンプルに送信先をJaguarにした例 github.com v2だとめっちゃ楽に実装できて便利。ちなみにv1だとちょっとだけ工夫が必要な模様。 package main import ( "context" "fmt" "log" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/…
create_before_destroy (bool) 既存のリソースが有った場合に、削除してから作成する prevent_destroy (bool) この値があるリソースを削除しようとするとエラーになる ignore_changes (list of strings) 実際のリソースとTerraform管理下のリソースの差分が…
kubectl explainを使うと、現在のコンテキストのバージョンに沿った情報を見ることができる。explainの次にはリソース名を指定する。ターミナルだけで完結できる機会が増えるはず。 $ kubectl explain service KIND: Service VERSION: v1 DESCRIPTION: Servi…
nginxのpodに443と8443のポートを足したい時のkustomizeの書き方 apiVersion: apps/v1 kind: Pod metadata: name: app spec: containers: - name: app image: nginx:latest ports: - name: http containerPort: 80 - op: add path: /spec/containers/0/ports…
github.com Packerはマシン・イメージの自動生成や管理をするコマンドライン・ツール。HashiCorp製のツールでGoで実装されている。Packer 1.5.0からHCLを対応したとのことで現在はこちらが推奨されていてちょっと古い記事だと気にして読む必要がある。 使い…