フラミナル

考え方や調べたことを書き殴ります。IT技術系記事多め

LTEからWifiに切り替えたら通信は切断されるのか?(QUIC)

昔ふとした疑問からこんな記事を書きました。 qiita.com そして最近QUICの勉強をしていたら「QUICではLTEとWifiを切り替えても通信が継続できる」という記載があったのでちょっと調べてみることにしました。 5-tuple そもそもTCP/UDP通信は5-tupleと呼ばれる…

google_project_iam_xxxの違いとまとめ

GCPにおけるIAMの構造 メンバー ユーザ / グループ / サービスアカウント / ドメイン ロール(役割) GCPのリソースに対する権限(例:GCSの管理者権限 / Projectの閲覧権限 など) IAMポリシー ロールバインディングという名前で 「どのメンバーにどのロール…

外部IPを持たないインスタンスに対するインターネットからのアクセスについて

GCPにもAWSにも外部IPを持たないインスタンスを作ることができます。 AWSの場合はプライベートサブネットで作成したEC2インスタンスへアクセスをさせるためには、ALBやNLBなどのロードバランサーを使うかプロキシサーバを経由して外部アクセスを許容する方法…

GCP MemoryStore for RedisのFQDN/IPアドレスについて

MemoryStore for Redisを起動するとIPアドレスが発行されます。 クラウド使ってる勢からすると障害が起きて切り替わるようなDBへのアクセスはFQDNがいいわけです。 アプリケーション側でIP切り替えるの嫌ですからね。 で、MemoryStore for RedisでFQDNが使え…

ArgoCDにおけるステータスの意味をコードを追って調べた

結論 調査過程(コードリーディング) 普通の場合(ArgoCDによって用意されているやつ) 独自に定義する場合(Applicationなど) 結論 ArgoCDにおけるSync-Operationのステータスの意味は以下の通りです。 種類 状態 Healthy 正常 Progressing 正常ではないが、…

ArgoCDとExternalSecretを併用するときにSecret上書き問題を解消する

ほぼほぼ独力で調べ切った後に全く同じ悩みにヒットした方の記事が出てきた。 argocdでSSOしたいときにclientSecretをSealedSecretで保持したい - うさだのブログ 問題 ArgoCDは自分自身でSecret(argo-secret)を作成します。 それとは別にSSOの設定などをExt…

GKE IngressでCustom Headerを少し触ってみる

GKEのIngress=外部HTTP(S)ロードバランサを触ってカスタムヘッダの追加や上書きの挙動を確認してみます。 使用したのは以下のmanifestです。 apiVersion: v1 kind: Service metadata: name: web annotations: cloud.google.com/neg: '{"ingress": true}' cl…

シェルで紙芝居っぽくちょっとづつ文字を表示する

これを実現したい! Gatekeeperのハンズオンをやっていたらシェルでデモが行われていて裏側が気になったので追っかけてみました。するとdemo-magicというスクリプトが使われていたので紹介です。 GitHub - paxtonhare/demo-magic: A handy shell script that…

middlewareってなに?インフラが思うミドルウェアとはちがうの?

ちがいます。 インフラエンジニアが思うミドルウェアやApacheやEnvoyなどのアプリを動かすソフトのことをさしています。 しかしGoでAPIサーバを立てるときなどに用いられるMiddlewareという言葉は、HTTPリクエストを途中で処理する層のことを指しています。 …

Alfredで動的なLGTM画像を引っ張ってくる

こんか感じで書くことで、ランダムに取得できます! ![LGTM](https://image.lgtmoon.dev/{random:120000..130000}) ![LGTM](https://image.lgtmoon.dev/{random:120000..130000}) ![LGTM](https://image.lgtmoon.dev/{random:120000..130000}) ![LGTM](https…

Type funcを使ってみて動作イメージを掴む

net/httpのHandler周りのコードを読んでいたらよくわからなくなったので理解のため簡単なコードを書いておきます。 HTTPserver package main import ( "fmt" "net/http" ) func main() { // HandlerFunc は与えられたパターン(/hello) をDefaultServeMuxに…

備忘:GKE CSIでPVCを作成するときに発生したエラー

Warning ProvisioningFailed 1s (x2 over 3s) pd.csi.storage.gke.io_gke-5e27e4c13f914c63a047-5131-44b0-vm_d6569e4a-5b72-46f5-9b98-2b1a87a061a3 failed to provision volume with StorageClass "regionalpd-storageclass": rpc error: code = Internal …