Infra

WSL2起動時にdockerを自動起動したい

2024.04.20.追記 /etc/wsl.conf の設定を変更することで、以下よりもスマートに対応できることがわかったので、こちらの方法を推奨する。 teachme.jp 環境 Windows11 WSL2 Ubuntu22 docker-ce コンテキスト WSL2上のUbuntu22を起動の際にdockerdを自動起動し…

yhコマンドでkubectl get -oyamlの結果をカラーリングする

yhコマンドとは YAML形式のデータをカラーにしてくれるコマンドです. jq(1) 風にパイプ経由で使うことを想定されています kubernetesレポジトリのこちらのissue にて、存在を知りました kubectl get ... -oyaml の実行結果をカラーにしたい、というモチベー…

Kubernetesでpub/sub型のappのRollingUpdateの考え方?

具体的な解決策は思いついていないのですが、「こういうケースってどうやってRolling Updateするんだろう?」と疑問に思った点をメモしておこうと思います。具体的な解決案が見つかりましたら、また追記しようと思います。 前提 以下の仮想のシステムをKuber…

BSD Socket誕生の経緯

概要 本記事はBerkley Socket の歴史や開発当初の設計に興味を持ち調べた際のメモです。 調べたこと Berkley SocketはBSD4.2のタイミングでBill Joyにより設計・実装されたようです。Bill Joyが開発に至るまでの経緯は『Unix考古学』で詳しく解説されていま…

コンテナ関係のdiagram置き場

About this page Docker, Kubernets等のコンテナ技術を理解する上で、有用な自作の図を置くページです 今後ちょっとずつ書き足していきたいです Kubernetes Worker Node's Networking Structure

図:TCP通信時のパケットの構造

勉強会用に作成の資料より転載 『基礎からわかるTCP/IPネットワーク実験プログラミング 第2版』P32の図を元に作成 基礎からわかるTCP/IP ネットワーク実験プログラミング 第2版作者:村山 公保オーム社Amazon

小ネタ : Dockerfile内でARGをクォートで囲むと展開ができない

問題 Dockerfile内で以下のように、 ENV 内で呼び出しの ARG が展開されない。 Dockerfile FROM centos:latest ARG FOO=foo ENV OPTS='foo=${FOO} \ bar=bar \ hoge=hoge' 環境変数の確認結果 # env | grep ^OPTS OPTS=foo=${FOO} bar=bar hoge=hoge 原因と…

GKE : ingressをpodのreadinessProbeと連携させる際の注意点

本記事の要点 GKE上で ingress のヘルスチェックに readinessProbe を利用したい場合、以下の3つのPort番号が合致するよう設定してください。ingress の新規作成時に(1)と(2)が合致しない場合、ReadinessProbe を設定していたとしても無視され、標準の / に…

cloudbuildでビルドしたgo言語ファイルがdockerのubuntuイメージ上で実行できない

問題 cloudbuildでビルドしたGo言語のプログラム(ELF形式)を、dockerコンテナ( ubuntu:latest )上で実行しようとしすると実行に失敗する。 # file myapp myapp: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib…

Dockerコンテナが専用namespaceに属していることを確認する

概要 dockerコンテナによるLinux上の各種リソースの隔離[1] は、linuxのnamespace(名前空間)という機能を使って実現されています [2] 実際にdockerコンテナを作成し、defautの名前空間とは異なる名前空間がdocker用に作成されることを確認します ログ # 環境…

kubernetesのpod内でstraceをrunning processにアタッチしたい

問題 kubernetesのpod内で strace コマンドの -p オプションを使い、実行中のプロセスにアタッチしようとすると以下のエラーが出る。 # strace -p 1 strace: attach: ptrace(PTRACE_SEIZE, 1): Operation not permitted 原因 strace が内部的に利用している …

alpine linuxでlsofでListen Portが確認できない

5分ほど困ったのでメモ。 問題 dockerのalpine linuxイメージ内でPATHが通っているlsofはbusyboxへのシンボリックリンクとなっており、 本来のlsofコマンドと挙動が異なっている。そのため、 lsof -i してもPortが表示されない。 対処 代わりに本家verの lso…

自社の社外向けイベントにk8sネタで登壇しました

自社の技術イベント にてKubernetesのソースコードリーディング入門な発表をしました。準備が大変でしたがなんとかまとまってよかったです。 informer framework は全体的にドキュメント少なめな印象です。 speakerdeck.com

etcdの参考文献一覧

kube-apiserver 2017年にRedhatのエンジニアよって書かれたArchitectureの解説 ↑を翻訳した記事 etcd CoreOS社のドキュメント Raftの論文(原文) Raftの論文(日本語訳) ↑の論文を読んだ方のメモ mediumのetcdの解説記事 etcd総選挙の解説記事 etcdの監視メト…

x509のサーバー証明書の検証

簡単に図に落としたので、メモです。多分これであっているはず。。X509難しいです。

/* https://sunrise033.com/entry/hatena-blog-how-to-hierarchicalize-categories */