動かざることバグの如し

近づきたいよ 君の理想に

Kubernetesにnfs-subdir-external-provisionerをインストール

環境 Kubernetes 1.24 Kubernetesのデータ永続化にNFSを使ってみる。 github.com NFSサーバーの構築 Kubernetesクラスタ以外のサーバーにインストールすること sudo apt-get install -y nfs-kernel-server /etc/exports に以下追記 *は流石に不味いので 172.…

KubernetesのServiceリソースとは

環境 Kubernetes 1.24 KubernetesのServiceリソースとは 難しい。公式ドキュメントだと Podの集合で実行されているアプリケーションをネットワークサービスとして公開する抽象的な方法 としか書かれていない。自分としては「複数のPodに共通のIPアドレス提供…

KubernetesでCIDRNotAvailableエラーでうまく接続できない問題

問題 なんかMySQL構築して、サービスリソース作ってCulsterIP振ってもアクセスできない問題が発生した 設定何も間違ってないんだが???と思ってふとnodeのイベントログ見てると「CIDRNotAvailable」の文字が沢山。。。 ❯ kubectl get events LAST SEEN TYP…

Kubernetesクラスタを完全に初期化する方法

環境 Ubuntu 20.04 Kubernetes v1.24 Kubernetesの設定にミスった、istioがうまく動かなくなった。。。etc等で泣く泣く初期化するも、そもそも正常に初期化できておらず再インストール後もつまずくケースが多い。 実は 「kubeadm reset」だけだとうまく初期…

Kubernetes Dashboardをインストールする

環境 Kubernetes 1.24 先にmetrics-serverをインストールして kubectl top node コマンドが使えるようにしておく必要がある(Dashboardはただのビューアーなので やりたいこと 自分のクラスタ上でダッシュボードを見てニヤニヤしたい github.com インストー…

10回以上再インストールを余儀なくされた男のKubernetes構築手順Part2

前編 10回以上再インストールを余儀なくされた男のKubernetes構築手順 - 動かざることバグの如し nfs-subdir-external-provisionerkube thr3a.hatenablog.com metrics-server thr3a.hatenablog.com kubernetes-dashboard thr3a.hatenablog.com ArgoCD 一発で…

Kubernetesでmetrics-serverをインストールする方法

環境 Kubernetes 1.24 なぜ必要なのか kubernetes-dashboardをインストールするにあたってメトリクスを取る必要があるため kubectl top nodesコマンドが使えるようになりたい。 # kubectl top nodes error: Metrics API not available インストール方法 公式…

Dockerが勝手にiptablesを設定しないようにする

Dockerが勝手にiptablesを作成する apt install -y docker-ce でDockerをインストールすると自動的にiptablesが追加される。 通常 # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target pro…

インテルNUC「NUC11ATK」を購入してUbuntuインストールまで

インテルのNUCを買った 最近ハマってる、おうちKubernetesのコントロールプレーン用物理サーバーがほしいなと思い、安いNUCを探していたところこんな記事を発見 akiba-pc.watch.impress.co.jp NUC11ATKは11世代のIntelCPUのベアボーンNUCで、簡単なスペック…

ArgoCDへのアクセスをIstio経由で出来るようにする

環境 Kubernetes 1.24 ArgoCDをistio経由でアクセスできるようにしたい LoadBalancerも悪くないけどIP1つ消費してしまうしせっかくならistioに統合させたかったのでメモ 手順 オレオレ証明書の準備 ArgoCDはhttps通信必須なのでSSL証明書が必要 今回はオレ…

istio動作確認まとめ

環境 Kubernetes 1.24 istio-injection # ON kubectl label namespace default istio-injection=enabled # OFF kubectl label namespace default istio-injection- # 確認 kubectl get namespace -L istio-injection bookinfo kubectl apply -f https://raw.…

Kubernetesでコントロールプレーンとワーカーノードを分けたい

環境 Kubernetes 1.24 やりたいこと たくさんノードがある中でコントロールプレーンとワーカーノードを分けたい 昔はコントロールプレーンのことマスターって言ってたらしい コントロールプレーンにさせたい 結局の所ラベルで管理してるだけなのでkubecrlで…

MacM1構築メモ

mac

MacM1構築メモ 初のARMパソコンってことで緊張してる(大嘘 rbenvインストール brew install readline ~/.zshrcに以下追記 export RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline)" .zprofileに以下追記 eval "$(/opt/homebrew/bin/bre…

WireGuardで「resolvconf: command not found」エラー

環境 Ubuntu 20.04 WireGuard 問題 WireGuardのクライアント側の設定をして再起動しようとしたらエラーになる /usr/bin/wg-quick: line 31: resolvconf: command not found resolvconf?????????あるが???? 解決策 resolvconf自体は最初からUbun…

FFmpegを依存ライブラリなしで1ファイルで実行する

FFmpegのインストール重い問題 自分でビルドする 色々ライブラリインストールしなきゃいけない 公式パッケージからビルド済みのバイナリをapt installする 依存ライブラリも一緒にインストールされてしまう もっとシンプルに1ファイルで実行できんのか 可能 …

CPUのスペックを一発比較できる「PassMark CPU Comparison」が強い

CPUのスペックを比較したい CPUが多すぎて同じインテルでもどっちがスペックいいのか型番だけでは判別がつかない。 二昔前は周波数、一昔前は発売された年月を見ればおおよその比較ができたが、最近だとブランドが乱立しててひと目では判断できない PCはなん…

ArgoCD構築メモ

環境 Kubernetes 1.24 ArgoCDで何ができるとかは他の記事に腐るほど書いてあるので、ここではArgoCDの構築メモ インストール 公式サイトを見ましょう argo-cd.readthedocs.io kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githu…

UbuntuにnerdctlをインストールしてDockerコマンドっぽく使う

環境 Ubuntu 20.04 containerd v1.6.6 Dockerコマンドの代わりにnerdctlを使いたい 自宅サーバーにUbuntuを入れてKubernetesを構築しているのだが、現状Kubernetesとdocker-ceのパッケージの相性悪い。 いや、Kubernetesがすでにcontainerdに切り替えている…

オレオレ証明書をワンライナーで作成する

もっと爆速にオレオレ証明書を作成したい 過去に爆速でオレオレ証明書を作成する方法ってタイトルで記事を書いたことがある。 thr3a.hatenablog.com あれから月日が経ち、ワンライナーで作成できることを知った コマンド *.turai.workの証明書を10年分で作成…

MySQL公式のKubernetesパッケージ「mysql-operator」をインストール

環境 Kubernetes 1.24 mysql-operatorとは Kubernetes上でデータベースを動かすのは結構難しいらしく、独自のCRD実装したオペレーターでインストールすることが一般的っぽい。 そこでMySQL公式がMySQL Operatorを出しているのだが、2022年5月についにGAにな…

Kubernatesでstorageclass.storage.k8s.io "standard" not foundエラー

PersistentVolumeを作成したらエラーになる 公式チュートリアルでPersistentVolumeを使ったWordPressのデプロイをやっていたところ kubernetes.io いつまで経ってもPVCがPendingのまま。。。 kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STOR…

kubectxで楽にネームスペースを切り替えする

Kubernetesのnamespaceうつの面倒くさい問題 kubectl get pods -n hogehoge いちいち打ってられるかよ ってことでアプリで解決 kubectlのcontextとnamespace周りの操作をkubectxとkubensでちょっと楽する | DevelopersIOの記事見てたらkubectxとkubensってコ…

MetalLB v0.13以降はConfigmapでの設定ができない

環境 Ubuntu 20.04 Kubernetes v1.24 MetalLB v0.13.3 インストール kubeadmでKubernetesインストールしてLoadBalancer使いたいからMetalLBもインストールするぞい kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.3/config/mani…

10回以上再インストールを余儀なくされた男のKubernetes構築手順

環境 Ubuntu 20.04 Kubernetes v1.24 事前設定 cat > /etc/modules-load.d/containerd.conf <<EOF overlay br_netfilter EOF modprobe overlay modprobe br_netfilter cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 EOF sysctl -…</eof>

zshの「nyae」を完全に殺す

zsh

環境 zsh やりたいこと これウザいから機能止めたい ❯ ruby -v zsh: correct 'ruby' to '_ruby' [nyae]? n zsh: command not found: ruby やり方 なんかググっても最初に出てくる記事がてんで使い物にならないのでメモ .zshrcにて setopt nocorrect でおk

yt-dlpのダウンロードエラーの時はインストール方法を変えろ

Githubのリリースは最新じゃない Releases · yt-dlp/yt-dlpからバイナリ版をダウンロードできるが、実は最新コミットのMasterブランチからは結構遅れてしまう やり方 Master版の最新版をブチ込むコマンド python3 -m pip install --force-reinstall https://…

apt searchでAND検索する方法

apt searchでgrepすると怒られる MySQLクライアントのライブラリをインストールしようかと思ってパッケージを検索した # apt search 'mysql'|grep lib WARNING: apt does not have a stable CLI interface. Use with caution in scripts. courier-authlib-my…

e2fsckで壊れたExt4パーティションを修復する

環境 Ubuntu 20.04 やりたいこと 久々にHDD整理していたらマウントできないHDDが出てきた。 GPartedで見るとどうもExt4のパーティションなのは間違いないのだが、マウントしようとしても # mount -t ext4 /dev/sdb1 /mnt/disk1 mount: /mnt: /dev/sdb1 のス…

fastapiとHTTPXで非同期APIリクエストをやってみる

環境 Python 3.10 fastapi v0.75 やりたいこと fastapiというPython製APIフレームワークがある fastapi.tiangolo.com APIが外部の別のAPIを呼び出すことはよくある。fatsapiがネイティブで非同期(async)に対応していることもあり、 せっかくなのでHTTPリクエ…

Python3.10からimport Optionalしなくてよくなった

環境 Python 3.10 from typing import Optionalしなくて良くなった 昨今のPythonでは型アノテーションが流行っているが、その中でもOptionalは使う機会が多い 例えばPythonの組み込みメソッドであるstr.startswith()は文字列が指定された文字列から開始して…