kkato.dev

Hi there 👋

Welcome to my website!

PostgreSQL16を゜ヌスコヌドからビルドしおみる

PostgreSQL16を゜ヌスコヌドからビルドしおみたのですが、いく぀か぀たづいたポむントがあるので、それらにご玹介したす。 PostgreSQL16を゜ヌスコヌドからビルドするためのコマンドは以䞋のずおりです。前提ずしお M1 Mac (macOS 14.4.1) を䜿っおいたす。 % git clone git://git.postgresql.org/git/postgresql.git % cd postgresql % ./configure --enable-debug --enable-cassert --enable-tap-tests --prefix=$HOME/pgsql CFLAGS=-O0 % make -j 4 % make install configureコマンドには以䞋のオプションを指定しおいたす。 デバッグしやすくするためのオプション: –enable-debug –enable-cassert –enable-tap-tests むンストヌル先のディレクトリを指定するオプション: –prefix 参考: https://www.postgresql.jp/document/16/html/install-make.html#CONFIGURE-OPTIONS icu-uc, icu-i18nのパッケヌゞが芋぀からない icu-uc, icu-i18nのパッケヌゞが芋぀からないず蚀われたした。 % ./configure --enable-debug --enable-cassert --enable-tap-tests --prefix=$HOME/pgsql CFLAGS=-O0 (省略) checking for icu-uc icu-i18n... no configure: error: Package requirements (icu-uc icu-i18n) were not met: No package 'icu-uc' found No package 'icu-i18n' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix....

September 18, 2024 Â· Ken Kato

Rocky Linuxにcontainerdをむンストヌルする方法

以前Kubernetesクラスタを構築するずきに、Rocky Linuxでcontainerdをむンストヌルする方法に぀いおあたり情報がなかったので、ずおも苊劎したした。 なので今回はその時に調べた内容を蚘事にしおみたした。 次のコマンドでcontainerdをむンストヌルできたす。 # yumにCentOS甚のdockerリポゞトリを远加する sudo yum config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # docker-ceリポゞトリに含たれおいるcontainerd.ioのパッケヌゞをむンストヌルする sudo yum install -y containerd.io # containerdのデフォルト蚭定ファむルを生成する sudo sh -c "containerd config default > /etc/containerd/config.toml" そしお最埌にcontainerdを有効化したす。 systemctl enable --now containerd.service 参考 Using containerd without docker (Installing containerdの郚分)

June 30, 2024 Â· Ken Kato

NUC䞊にk8sクラスタを構築する

しばらく攟眮しおいたNUC䞊にk8sをむンストヌルしお、おうちクラスタを運甚しおいこうず思いたす。 今回はkubeadmを䜿っおk8sをむンストヌルしようず思いたす。 前提 ベアメタル(Intel NUC11PAHi5)䞊に構築 Control Planex1台ずWorkerx3台の4台構成 OSはRocky Linux9.3 ルヌタヌ偎の蚭定で固定IPを割り圓お 各ノヌドのスペックは以䞋 CPU メモリ ストレヌゞ 4コア 16GB 500GB kubeadmのむンストヌル 以䞋の手順を参考にしたす。 kubeadmのむンストヌル 「始める前に」にSwapがオフであるこず、ず蚘茉がありたすが、swapがオフになっおいなかったので無効化したす。 sudo swapoff -a ポヌトの開攟 kubernetesのコンポヌネントが互いに通信するために、これらのポヌトを開く必芁がありたす。 RockyはRHEL系なのでfirewall-cmdを䜿っお、Control Planeノヌドのポヌトを開攟したす。 sudo firewall-cmd --add-port=6443/tcp --permanent sudo firewall-cmd --add-port=2379-2380/tcp --permanent sudo firewall-cmd --add-port=10250/tcp --permanent sudo firewall-cmd --add-port=10257/tcp --permanent sudo firewall-cmd --add-port=10259/tcp --permanent ポヌトが開攟されたこずを確認したす。 sudo firewall-cmd --reload sudo firewall-cmd --list-ports 続いお各Workerノヌドのポヌトを開攟したす。 sudo firewall-cmd --add-port=30000-32767/tcp --permanent sudo firewall-cmd --add-port=10250/tcp --permanent ポヌトが開攟されたこずを確認したす。 sudo firewall-cmd --reload sudo firewall-cmd --list-ports コンテナランタむムのむンストヌル コンテナランタむムの手順を参考に、各ノヌドに蚭定をしおいきたす。...

June 5, 2024 Â· Ken Kato

りォンテッドリヌに入瀟したした

りォンテッドリヌに入瀟しお1ヶ月経ったので、色々ず振り返っおみようず思いたす。 転職を考えたきっかけ 前職ではややニッチなテヌマに取り組んでいたこずもあり、そのたた長く居続けおも他の䌚瀟でやっおいけるか䞍安でした。たた、倉化が早い時代なので、䌚瀟に䟝存せず個人でやっおいけるだけの実力・スキルを身に぀けたいず考え、もっず技術力を䌞ばせるような䌚瀟に移りたいず思うようになりたした。 䌁業遞びの軞 䌁業遞びは以䞋の軞をもずに考えたした。 自瀟でサヌビスを開発・運甚しおいる 技術力の高い゚ンゞニアが圚籍しおいる 先進的な技術を扱っおいる 䞊蚘の条件を満たすような䌚瀟であれば、もっず技術力を䌞ばせるず思ったからです。 転職に向けお行ったこず むンフラ゚ンゞニア / SRE職を垌望しおいたので、䞻に以䞋のようなこずを行いたした。 関連する資栌の取埗 (AWS SAP、CKA) 個人ブログでの発信 簡単なWebアプリの䜜成 前職でPostgreSQL、Kubernetesを觊る機䌚があったものの、AWSやTerraformの経隓、それに本番環境の運甚経隓がなく苊劎したした。実務での経隓䞍足を補うために、AWSの資栌を取埗したり、個人ブログで今たで孊んだこずのアりトプットなどを行うようにしたした。たた、SRE職などだず自動化のツヌルなどをGoで曞くこずもあるず思ったので、Goで簡単なTo-doアプリを䜜成したりしたした。 りォンテッドリヌぞの入瀟を決めた経緯 りォンテッドリヌぞはスカりト経由で入瀟したした。Wantedly Visitに登録したら、りォンテッドリヌからスカりトが来おびっくりしたした笑カゞュアル面談で話を聞いおいるず、PostgreSQLやKubernetesなど今たで培った経隓を掻かし぀぀、新しい挑戊ができそうだったので、遞考を受けおみようず思いたした。 遞考を受ける前だったか、1次面接の埌だったか芚えおいたせんが、Engineering HandbookずCulture Bookをいただきたした。たず、開発や䌚瀟の文化に関するこずがこのような圢にたずめられおいるのが玠敵だず思いたした。そしお、内容に関しおも゚ンゞニアリングに察しお真摯に向き合う姿勢や゚ンゞニアにずおも理解のある䌚瀟だずいうこずが䌝わっおきお、こんな䌚瀟で働いおみたいず思うようになりたした。個人的にはCulture Bookの「倉わる゚ンゞニアの定矩」が奜きです。) たた、2次遞考ずしお 1 day むンタヌンに参加させおいただきたした。わずか1日のむンタヌンシップではあるものの、チヌムメンバヌがどんな人なのか、日々どんな業務に取り組んでいるのかなど実際に働くむメヌゞが぀き、その埌安心しお入瀟するこずができたした。 入瀟しおからの感想 毎日分からないこずだらけですが、その分孊ぶこずが倚くおずおも充実しおいたす。呚りの゚ンゞニアの方々は技術力が高くお、尊敬できる方ばかりです。 オンボヌディングに関しおは、研修や瀟内のドキュメントが敎備されおいお、スムヌズに環境に銎染むこずができたした。分からないこずがあるずすぐに聞ける雰囲気があり、ちょっずしたこずでもSlackやHuddleで盞談できお倧倉ありがたいです。週2出瀟なので、察面でのコミュニケヌションもできお良い感じです。 びっくりしたこずは、䌚議宀の名前がゞョゞョの奇劙な冒険から぀けられおいるこず、癜金台のランチの遞択肢の少なさ、あずぱンゞニアの1割がDvorak䜿いずいうこずですかね笑 今埌りォンテッドリヌで取り組みたいこず 今埌取り組みたいこずは以䞋の通りです。 Kubernetes, PostgreSQLなどのアップグレヌド むンフラの性胜監芖・運甚改善・障害察応 Goを甚いたツヌルの開発 前職だず実運甚を経隓しおいなかったので、システム基盀のアップグレヌドを経隓したいずいう思いがありたす。同様に、性胜監芖や運甚改善、障害察応などむンフラ゚ンゞニアずしお求められおいる基本的な業務も䞀通り経隓しおみたいです。たた、りォンテッドリヌのむンフラチヌムは様々なツヌルをGoで実装しおいるので、それらの実装を理解し改善しおいけるだけの力を぀けおいきたいです。 䞊蚘以倖にも盎近䞍足しおいる知識(NW、AWS、Terraform、Gitなど)が倚いので、日々粟進しおいく所存です

February 6, 2024 Â· Ken Kato

Alertmanagerのwebhookを詊しおみる

Kubernetes䞊でAlertmanagerがちゃんず通知できるか、どんな内容が通知されおいるのか確認しおみようずするず、連携するためのSlackが必芁であったり、Emailを送信するにもメヌルサヌバが必芁だったりず、意倖ず気軜に詊せないずいうこずがありたした。 なので、今回はwebhookの機胜を䜿っおNginxにリク゚ストを飛ばし、リク゚ストの内容をログから確認しおみようず思いたす。 webhookずは? Alertmanagerのreceiverには以䞋が指定できたす。 Email Opesgenie PagerDuty Pushover Slack AWS SNS VictorOps Webhook Wechat Telegram Webex Webhookずは特定の゚ンドポむントに察しおHTTP POSTリク゚ストでアラヌトの情報を送信するずいうものです。 倖郚サヌビスではないので、自分自身で゚ンドポむントを甚意し、自分自身で埌続の凊理を実装する必芁がありたす。 䟋えば、以䞋のように蚭定したす。 receivers: - name: "nginx" webhook_configs: - url: 'http://nginx-svc.default:8080/' webhookの連携先ずしおnginxを䜿う 今回はwebhookの連携先ずしおnginxを䜿甚したす。 nginxを䜿っお実珟したいこずは以䞋のずおりです。 ゚ンドポむントを甚意する リク゚スト内容を確認する nginx.confの初期蚭定をベヌスにしおいたすが、そのたただずリク゚スト内容を確認するこずができないので、蚭定を远加したした。 log_formatで$request_bodyを指定し、/にアクセスした時に$request_bodyがログずしお暙準出力に出るように蚭定しおいたす。 しかし、$request_bodyを有効化するにはproxy_passなどの埌続凊理が必芁になりたす。なので、proxy_passで/trashずいう゚ンドポむントにリク゚ストを転送し、/trashで特に意味のない凊理(1x1ピクセルのgifを返す)をしおいたす。 The variable’s value is made available in locations processed by the proxy_pass, fastcgi_pass, uwsgi_pass, and scgi_pass directives when the request body was read to a memory buffer. http://nginx.org/en/docs/http/ngx_http_core_module.html#var_request_body user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx....

August 13, 2023 Â· Ken Kato