Hi there 👋
Welcome to my website!
Hi there 👋
Welcome to my website!
Kubernetes上でPostgreSQLを運用するためのOperatorが複数存在します。以前どれを選ぶか検討する機会があったので、主要な4つのオペレーターを比較してみました。 比較表 PGO CloudNativePG Zalando StackGres 開発元 Crunchy Data EDB / CNCF Zalando OnGres GitHub Stars 4,400 8,000 5,100 1,400 ライセンス (Operator) Apache 2.0 Apache 2.0 MIT AGPL-3.0 ライセンス (コンテナイメージ) 独自 (制限あり) Apache 2.0 MIT AGPL-3.0 Patroni 使用 不使用 (独自実装) 使用 (Patroni開発元) 使用 CNCF - Sandbox - - Star History 各オペレーターの特徴 PGO (Crunchy Data) Crunchy Data社が開発するオペレーターで、Patroniを使ったHAに対応しています。Operator自体のソースコードはApache 2.0ですが、Crunchy Data が配布するコンテナイメージは独自のライセンス(Crunchy Data Developer Program)で提供されています。50名以上の組織では本番利用に有償サブスクリプションが必要になるため、注意が必要です。自前でイメージをビルドすれば回避できますが、手間がかかります。 CloudNativePG EDBが開発を始め、現在はCNCF Sandboxプロジェクトになっています。Patroniに依存せず、独自のInstance Managerが各Pod内で動作し、Kubernetes APIを直接利用してリーダー選出やフェイルオーバーを行います。ライセンスもOperator・コンテナイメージともにApache 2.0で、制限なく利用できます。Star数も最も多く、コミュニティの勢いがあります。 ...
Argo CDはKubernetes向けのGitOpsツールで、Gitリポジトリに置いたマニフェストをクラスタに自動で反映してくれます。 今回はHelmを使ってArgo CDをインストールし、リポジトリの接続からApplicationの作成までをまとめました。 前提 Kubernetesクラスタが構築済みであること Helmがインストール済みであること Argo CDのインストール Helm Chartリポジトリを追加します。 helm repo add argo https://argoproj.github.io/argo-helm helm repo update argocd namespaceにインストールします。 helm install argocd argo/argo-cd \ --namespace argocd \ --create-namespace \ --version 7.8.13 Podが正常に起動していることを確認します。 kubectl get pods -n argocd Argo CD CLIのインストール brew install argocd Argo CD UIにアクセスする port-forwardでArgo CDのUIにアクセスできます。 kubectl port-forward svc/argocd-server -n argocd 8080:443 ブラウザで http://localhost:8080 にアクセスします。 初期パスワードは以下のコマンドで取得できます。ユーザー名はadminです。 argocd admin initial-password -n argocd Gitリポジトリを接続する Argo CDがGitリポジトリからマニフェストを取得するために、リポジトリの接続設定が必要です。 SSH鍵の作成 Argo CD専用のSSH鍵を作成します。 ...
移動 キー 説明 } / { 次/前の空行へ移動 % 対応する括弧へ移動 * / # カーソル下の単語で前方/後方検索 Operator と Text Object Operator 説明 c change d delete y yank v visual Text Object は i(inner: 内側のみ)と a(a: 囲み文字も含む)の2種類がある。 Text Object 説明 iw 単語の内側 aw 単語 + 周囲の空白 i" "..." の内側 a" "..." 全体(引用符含む) i( (...) の内側 a( (...) 全体(括弧含む) i{ {...} の内側 a{ {...} 全体(波括弧含む) it HTMLタグの内側 at HTMLタグ全体(タグ含む) 例 説明 ciw 単語を削除して挿入モード di" ダブルクォート内を削除 ya( 括弧ごとコピー 参考文献 なれる! Vimmer
netrw(Neovim内蔵ファイルブラウザ) キー / コマンド 動作 :Ex カレントディレクトリを開く :Vex 垂直分割で開く :Sex 水平分割で開く <CR> ファイル/ディレクトリを開く v 垂直分割で開く o 水平分割で開く t タブで開く % 新規ファイル作成 d ディレクトリ作成 D 削除 R リネーム - 上のディレクトリへ i 表示形式を切り替え ペイン操作 キー / コマンド 動作 :vs ファイル名 垂直分割でファイルを開く :sp ファイル名 水平分割でファイルを開く Ctrl+w h/j/k/l 左/下/上/右へ移動 Ctrl+w c 閉じる Ctrl+w o 他を全て閉じる Ctrl+w = 均等サイズ タブ操作 キー / コマンド 動作 :tabnew 新規タブ :tabe ファイル名 ファイルをタブで開く gt / gT 次/前のタブ :tabclose タブを閉じる
現職になってから、日報を学びのツールとして活用することを意識しています。1on1などで今のフェーズで課題となっている箇所を特定し、日報で振り返ることで、成長を加速させることを狙っています。 期待値のずれを認識する 仕事は依頼者(上長や同僚、他チームのメンバー)からの期待値があり、それを超えていくことが求められます。ただ、初めは依頼者の期待値とずれてしまうことが多かったため、当時の上長からまずは期待値のずれを認識することを勧められました。 具体的には以下の点を日報に記載していきました。 人との期待値がずれていた点 なぜ期待がずれていたのか考える 具体例 Aさんにお願いされたタスクで、とりあえず指示を待てば良いと思っていたが、Aさんは自分から提案してほしいと思っていた。事前に期待値をすり合わせておけばよかった Bさんは10分くらいで終わると思っていたが、実際には30分かかった。事前に前提や既にわかっている情報をヒアリングしておけばもっと早く終わったかもしれない 技術的な疑問を書き留める 私の同僚はタスクに関連する技術について、その周辺まで調べてから進めます。私以上に時間がかかることもありますが、次に同じことをやるときや少し違うことをやるときに応用が効き、結果として仕事が早く進むことが多く見られました。一方、私は分からないものがあってもタスクと関係ないからと放置してしまうことが多く、結局応用が効かずに時間がかかってしまうことがありました。 仕事中に「なんでこうなってるんだろう?」「これってどういう意味があるんだろう?」と思った小さなことでも書き残します。それについて調べて答えを日報に書きます。場合によっては、日報を見てくれている人が教えてくれることもあります。 【今日の疑問】 Goのiotaって何? → 連番を自動生成する。const宣言で使う kubectl applyと kubectl createの違いは? → 未調査