プログラミング

kOpsでIRSAをやる(1.21)

以前こういう記事を書いた. h3poteto.hatenablog.com この当時はIssuerも自分で作らなければいけなかったが,kOps 1.21からIRSAのサポートが入り,これがだいぶ簡略化されるようになった. というわけでこれを紹介しておく.

自分のためだけにcustom controllerを書く

ふだんkopsで自分用のKubernetesクラスタを立ち上げているんだけど,個人用途なのでAutoScaleはしてほしくないのでClusterAutoscalerは入れていない.だけど,その状態でも可用性はできる限り下げたくない. というわけで,ちょっと自分でノードを管理するカ…

Kubernetes 1.20ではownerReferenceのnamespaceに気を使え

qiita.com ここの話です. github.com Issueの内容を熟知している方には余計なお世話です. いやーこんなの自分には関係ないだろうと思ってたら見事に当たりました. 問題になるケース 問題になるケースはおそらく以下の2パターン. OwnerとChildが別のnames…

kind local registryでCI内でテストを回す

Kubernetes関連のツールを作ったときなどに,E2Eテストをしたいことがある.実際にKubernetesクラスタに入れてみて,動かしてみてどうか,というのは開発環境でやるにしても結構手間だ. そういうときにkindはすごく便利なんだけど,これのlocal registryは…

Fediverse用のclient libraryを探す旅

この記事はFediverse (2) Advent Calendar 2020 の9日目です.大遅刻です. ちょうどこの週に引っ越しをすることになってしまって,「書く時間くらいあるやろー」と思ってたら,全然時間がなかったです.片付けて引っ越しして荷解きして,仕事できる状態まで…

fluentd-sidecar-injectorをhelmでインストールできるようにした

以前fluentd-sidecar-injectorというものを作った. h3poteto.hatenablog.com AdmissionWebhookを使って,任意のPodにログ転送用のfluentdをサイドカーとして差し込むものだ.これの目的は, 標準出力以外の,例えばファイルに吐き出すようなログはどうなる…

Swiftで書いていたiOSアプリをReactNativeで書き直した

以前書いていた h3poteto.hatenablog.com のiOSアプリをReactNativeで書き直した.なんのことはない,手持ちのスマートフォンをAndroidに変えたので,アプリもAndroid対応をする必要があっただけなのだが. github.com 流石にSwiftで作っていたUIをそっくり…

dap-modeでEmacs上でgoをデバッグする

goでもなんでもいいんだけれど,最近Emacsでプログラムを書くときはLSPのお世話になることが非常に多い.ここまでEmacsでいろいろとできると,デバッグもやりたくなってくる. LSPが流行るのと同時にDAPというのも流行っていて,LSPと同じようにエディタを問…

The hard wayしたKubernetesにArgoCDを入れる

先日書いた h3poteto.hatenablog.com のクラスタにArgoCDを入れるところまでやった.

Emacsのlsp-requestがtimeoutする

新しいMacにEmacsの設定を入れているときに,ほかはいつもどおり行ったのだが,goのlspだけがTimeoutするようになってしまった. 具体的には, lsp-request: Timeout while waiting for response. Method: textDocument/definition. というエラーが出る. ち…

Kubernetes the hard wayを自宅のPCでやってみる

古いPCが余っていて,こいつでKubernetesクラスタを作ろうと思って公式ガイドを久しぶりに見に行ったのだが,デプロイツールを使ってインストールする方法しか案内されていない. 昔俺がKubernetesをインストールしようとしたときは,まだkubeadmをここまで…

MacのEmacsを複数起動する

LinuxでEmacsを使っていると,Emacsを起動するごとにプロセスが立ち上がり,別のウィンドウが生成される.これに対して,Macの場合,基本的に複数のプロセスが起動することはないし,ウィンドウも一つしか生成されないのが普通だ. これを複数起動できるよう…

fluentd自身のログのカウントをdatadogに送る

ログを集めるのにfluentdをよく使っているのだが,fluentd自身も実はログを吐いており,それをfluentdでハンドリングできる.できるというか,何もケアしてやらないと 2020-06-17 03:41:01 +0000 [warn]: #0 no patterns matched tag="fluent.warn" みたいな…

DaemonSetで立ち上げたDatadogにカスタムメトリクスを送りつける

helmでDatadogを入れることが多いんだけど,これで立ち上がるDogStatsDにアプリケーションからカスタムメトリクスを送りたいことがある. https://github.com/helm/charts/tree/73e2adc5d2250d02cb02ef4602b7eeda05e6aaf4/stable/datadog 現状のdatadogのcha…

kopsで構築したKubernetesクラスタでIRSAを使う

IAM Role for Service Account(IRSA)自体はEKS以外でも利用可能ということだったので,自前のkopsクラスタで構築してみた. ほぼ,こちらのお世話になっている. blog.hatappi.me ほぼ同じことをしているのだが,いかんせん複雑なので自分用の記録として残し…

ArgoCDをAWS EKS上で構築する

GitOpsがやりたくてArgoCDを導入しようと思ったんだけど,そもそもArgoCD自体はみんなどこで動かしてるんです? もちろんin clusterでも動くので,デプロイ対象のアプリケーションが乗っているKubernetesクラスタに構築しようと思いました. が,ArgoCDのチ…

AWS KMSで暗号化したSecretsをそのままapplyしたい!

KubernetesでGitOpsを実践しようと思うときに,Secretsをどうするかという問題は結構大きい.GitOpsをしていなかったとしても,Kubernetesのyamlファイルをgitにコミットしようと思うとき,Secretsをどうするかというのは結構大きな問題ではないだろうか. P…

WhalebirdはMisskeyサポートを開始します

Whalebird 4.0.0より,Misskeyをサポートします. Misskeyのドメインを入れていただければ,ログインできるようになってます. ただし,一部機能は使えない(かもしれない)のと,対応していない機能はあります. 対応予定 絵文字リアクション 引用Renote そ…

PodにfluentdのSidecarを自動でinjectする

本番でWebアプリケーションを運用していると,様々なログを取り扱う必要がある.これはKubernetesでも同じで,Kubernetes上で動かしているコンテナのログも,何かしらの方法で集約してどこかに蓄えておいて,分析とか検索とかをしたくなる. こういう用途で…

Slackの盛り上がりを検出するbotを作った

みなさんリモートワークしてますか? リモートワークのときのコミュニケーションツールはSlackですか?Chatworkですか?Discordですか? リモートワークをしていると,全体的にコミュニケーション量は減ると思います. オフィスにいれば,たとえSlackで会話…

ElectronのアプリをAppStoreで配信する(2020年)

以前 h3poteto.hatenablog.com こういう記事を書いた. あれから1年半経ち,少し変わったことがあるので記事にしておく.

kubernetesとhelmで作る最強のオレオレheroku,yadockeri

この記事は LAPRAS Advent Calendar 2019 の18日目です. 会社でWebサービスを開発していると,検証したりレビューしたりするときに専用の環境が欲しくなる.それは開発しているブランチごとに独立した環境であって欲しいし,なんなら本番っぽいデータが入っ…

Pleromaはいいぞ

この記事は分散SNS Advent Calendar 2019 の9日目です. ふだんはMastodon/Pleromaのクライアントアプリケーションである,Whalebirdの話が多いけど,実は https://pleroma.io というPleromaサーバも運用しています. なお,この記事は,分散SNSのサーバを自…

kube2iamをIAM Role for Service Accountに載せ替えた

この記事は LAPRAS Advent Calendar 2019 の4日目です. AWS上にkubernetesクラスタを構築していると,Pod内のコンテナから,AWSのAPIを叩きたいことがある. そのためにはもちろんAWSの認証を通す必要があり,AWSのAccess Tokenとか,IAM Roleを使って認証…

Host-based routingしたALBにRoute53 Health Checkをかける

タイトルの件について結論から言っておくと,スマートな解決策は今のところない. 一応回避することはなんとなくできるのだが,全然スマートではない.今後のアップデートに期待したい.

typescriptでmemcachedのクライアントを作った

nodeからmemcachedを使いたくなったんだけど,あまり良いクライアントがない. というわけで自作した. github.com

kopsで構築したkubernetesクラスタを1.11.7->1.13.10までバージョンアップした

タイトルの通りです. 結構ハマったので書き残しておく.

kube2iamからkiamに乗り換えた

AWS上に構築したKubernetesクラスタ内のPodが,AWSのリソースにアクセスしようとしたときには,もちろんAWS IAM Roleか,AWSの認証情報を使ってAWSのAPIを叩く必要がある. しかし,Kubernetesはクラスタだ.もちろんノードはいっぱいあるし,その上では様々…

Kubernetes上でRundeckをクラスタ構成で運用する

以前RundeckをDockerで動かす話を書いた. h3poteto.hatenablog.com このときはECSだったが,こいつをKubernetesに載せ替え, ジョブ実行ノードがクラスタ全体に分散する Webのリクエストが分散する ようにクラスタ設定を組んだ. なお,この記事を書いてい…

kubernetes上で単発のジョブを実行するツールを作った

kubernetesにはJobというリソースがある(CronJobもあるよ). このJobを使いたい用途が2つあった. デプロイ時のmigration等 Rundeckからジョブを実行したい というわけで,この2つを両方共満たせるものを作った. github.com