動かざることバグの如し

近づきたいよ 君の理想に

nextjsメモ

種別 データ取得に使う主な関数 データ取得タイミング その他 SSG getStaticProps ビルド時 SSR getServerSideProps ユーザーリクエスト時(サーバーサイド時) getInitialPropsもSSR ISR getStaticProps(revalidateを返却する) ビルド時 デプロイ後もバックグ…

limaで作成した仮想VMにホスト側からアクセスしたい

環境 lima 0.11.3 やりたいこと limaを使うとアーキテクチャの壁を超えて仮想マシンを構築できるが、デフォルトではホストOS側とネットワークの共有されていないため、 Macからネットワーク経由でアクセスすることはできない。 それをいなんとかしたい 昔は…

UbuntuにPreztoをインストールしてみた

環境 Ubuntu 20.04 多分Macもいける やりたいこと 今まではzshのフレームワークでoh-my-zsh使ってたが、起動がやっぱり遅いとかあったのでPreztoに乗り換えてみたメモ github.com インストール 公式のREADMEやれば問題ない 先にzshはbrewなりaptでインストー…

MacのターミナルでCtrl+Aで行頭に瞬間移動する方法

mac

ターミナルで行頭、行末に一発で遷移したい 前のパソコンではできてたのだが、ターミナル上で Ctrl + A を同時押しすると入力行の先頭にジャンプできた。 また Ctrl + E で行末に移動できて非常に便利だったのだがPCとか環境変えたタイミングでその設定が消…

Pryのスクロール時に表示がバグる問題

pryのlsバグる問題 こんな感じになってしまう 解決方法 export PAGER=" less --raw-control-chars -F -X" 詳しい話 qiita.com

M1 lima環境でminikubeをインストールする方法

環境 M1 Macbook minikube v1.26.1 lima 0.11.3 やりたいこと 使い捨てのKubernetes環境が欲しく、ローカルにKubernetesをインストールしようとした。 本番環境ならkubeadm一択なんだろうけど、サクッと構築するだけなら1台で完結するクラスタがいいなと思…

特定の文字から始まる文字だけマッチさせる正規表現

特定の文字から始まる文字だけマッチさせる正規表現を書きたい 「$」記号の後に整数が来る。例えば ¢100 makes $1 という例文があったとして、$1を抽出したい。 この場合は肯定後読み(Positive lookbehind)正規表現機能を使う必要がある。 let str = "¢100 m…

Railsでmodelをフォルダ階層にしてきれいにする方法

環境 Rails 7 Railsのモデルディレクトリ荒れる問題 Railsはデフォルトだとapp/modelsにモデルファイルを生成する。 それはルールなので別にいいのだが、プロジェクトが成長するに従って10ならいいが50を超えてくるとかなりキツくなる。 そこでディレクトリ…

Switchゲーム映像をMacのDiscordで配信する方法

Discordで通話仲間に配信したい ゲームしてると目の前の自分の画面を共有したいことがある。PCの画面だと画面共有押せばすぐに共有できるが、ニンテンドースイッチ自体にはその機能がないためできない。 そこでキャプチャボードを使ってPCを通すことで画面共…

はてなブログのsitemap.xmlをCIで自動送信するようにした

はてなブログのsitemap.xmlひどすぎ問題 これは昔から続いている問題なんだが、はてなブログだとインデックスが上手くいかないケースが有る。 先人の人たちが腐るほどに記事にしてくれている karupoimou.hatenablog.com chateau-vulpes.com www.imaichido.co…

UbuntuでMariaDBを複数起動させる方法(systemd編)

環境 Ubuntu 22.04 MariaDB 10.8 やりたいこと 1つのサーバーで複数のMariaDBを起動させたい。とはいえ全部のポートが3306だとコンフリクトしてしまうので ポート番号 データ格納場所 プロセスファイル、ソケットファイル ログパス は別々にしたい 調べてみ…

KubernetesにMariaDBをマスタースレーブ構成でデプロイする

環境 Kubernetes v1.24 やること MySQLサーバーをKubernetesで構築しようと思ったとき、練習用なら自分でYAML書いてデプロイ出来るが、永続化とかレプリケーションまで考えるとちょっと面倒すぎる。 そもそもKubernetesでMySQLのデプロイが向いているのかは…

CalicoのIP範囲設定を変更する

環境 Kubernetes 1.24 Calico v3.21.6 PodのIP範囲変えるの面倒くさい説 PodのIP範囲とはいわゆる --cluster-cidr を指す。PodのIPが足りなくなってきたので急遽既存のクラスタの cluster-cidrを変更することにした。 変更自体はマスターノードの /etc/kuber…

DockerのPHPは結局どのphp.ini使えばいいんだ問題

環境 PHP 7.4 どのphp.ini使えばいいんだ問題 DockerのPHPでは/usr/local/etc/php/php.iniがルートのphp.iniになっている root@e2459ffbe39f:/var/www/html# php -i|grep php.ini Configuration File (php.ini) Path => /usr/local/etc/php が、肝心の/usr/l…

UbuntuからReadyNASのホームディレクトリをNFSマウントできない問題

環境 ReadyNAS 102 問題 自宅のNASではネットギアのReadyNASを使用している。特に不満はないんだが、気づいたらネットギア自体がコンシューマ向けNAS事業から撤退したので購入後しばらくしたら廃盤になってた( NETGEAR ReadyNAS 102 3年保証 2ベイ Diskless…

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ファイルで実行できんのか 可能 …