リーダー職に就任しました

2024/3/1より、私はGMOペパボ株式会社の技術部プラットフォームグループのリーダー職に就任しました。 リーダー職についたきっかけ、どんなことをやっていくのか、決意表明を書こうと思います。 きっかけ 私は、長らく弊社が提供するサービスの一つである30d…

YAPC::Kyoto 2023に参加してきたので感想でも書こうかな

3/19に開催されたYAPC::Kyoto 2023に登壇してきました! yapcjapan.org 発表が無事に終わり家に帰ってきたわけですが、どうやら私のYAPCはまだ終わっていないようです。 ブログを書くまでがYAPC!! ということでブログを書いていただいたら、こちらのフォーム…

npm version9以降でユーザ名・パスワードでログインする場合は --auth-type=legacy が必要

レジストリを指定してnpmパッケージをインストールしようとした時に遭遇したエラー。 ちなみにこのレジストリは、ユーザ名・パスワードでのログインを想定している。 $ npm login --registry=https://<registry>/ npm notice Log in on https://<registry>/ npm ERR! code ENYI n</registry></registry>…

AWS SDK for Ruby V3のスタブを使ってみる

この記事はGMOペパボエンジニア Advent Calendar 2022の14日目の記事です。 追記: Calendar for Ruby | Advent Calendar 2022 - Qiitaの14日目の記事としても公開しました。 RubyでS3を扱うとき、Class: Aws::S3::Client — AWS SDK for Ruby V3を使うことが…

k8sでdrain/cordonを実行するとTaints `node.kubernetes.io/unschedulable:NoSchedule` が付与される

Taintsの使い道についてあまりピンとこなくて、使い道を調べてたらこのことを知ったので記事にした。 Taintsのユースケース k8sのドキュメントにユースケースが書かれている。 kubernetes.io 専有NodeにTaintsを付与する 特殊なハードウェアを備えたNodeにTa…

kubectl createで生成したDeploymentのyamlを元にDaemonSetのyamlを作成する

k8sではkubectl runやkubectl createで各リソースのyamlを生成できる。 例えばPodのyamlを生成するならこう。 kubectl run <pod名> --image=<image名> --dry-run=client -o yaml > pod.yaml Deploymentのyamlを生成するならこう。 kubectl create deployment <pod名> --image=<image名> --rep</image名></pod名></image名></pod名>…

ngx_dynamic_upstreamを用いてdockerコンテナのblue/greenデプロイをしてみる

出来上がった物を先に見たいという方はこちらをどうぞ。 github.com きっかけ 最近いろんなアプリケーションをdockernizeすることがふえており、そんな中でてきた課題が「どうやってダウンタイムなしでデプロイしようか」というもの。 もしAWS環境ならCodeDe…

Docker Desktop 4.3.0以降できなくなったCentOS7コンテナでのsystemdの利用をlima+dockerで使える環境を用意した

前回記事でlimaのセットアップをしたので、これを利用してlimaインスタンス上でCentOS7コンテナのsystemdを利用することにした。 なんでlima+dockerでやるの? 自分は今までDocker Desktopを使っており、CentOS7コンテナのsystemdは普通に利用してきた(--pr…

limaを使ってみた

Docker Desktopの一部有償化を受けてlimaとdockerを組み合わせて利用する場面が増えているっぽい。 ということでlimaを触ってみることにした。 今回はlimaの基本的な使い方だけ。 dockerと組み合わせた活用方法はまた後で。 limaとは? MacOSの環境でLinuxの…

iptablesでdockerコンテナへのアクセスを制限するときはDOCKER-USER chainを使う

iptablesを使っている環境でdockerコンテナを立ち上げたら、アクセス許可をするルールを追加してないのに外部からアクセスできてしまうという出来事があった。調べてみたらこのドキュメントを見つけた。 Docker and iptables | Docker Documentation By defa…

GithubのAPIを利用してタグの一覧を取得してみる

https://api.github.com/repos/<org>/<repository>/tagsへ向けてcurlを叩くとタグに関する情報を取得できる。 json形式で出力されるのでjqコマンドなどで整形するとなにかに活用できるかも。 例)puppetlabs-stdlibのバージョン一覧を取得する GitHub - puppetlabs/puppetlabs</repository></org>…

githubコンテキストでActionsのURLを表現する

Github Actionsで実行したCIの結果をslackに通知するときに、ActionsのURLも含めたいと考えていた。 環境変数を使うか採用するアクションのREADMEに沿えばよいのだが、いろいろ調べていたらgithubコンテキストでも表現できる方法を見つけた。 方法1:github.…

MinIO Clientを使ってみた

3回連続でMinIOネタになっちゃった。 MinIOではmcというCLIを提供していることを知ったので試してみた。 詳しい使い方はこちらに書いてある。 MinIO | MinIO Client Quickstart Guide 事前準備:Minio Serverを起動しておく dockerを用いて手元にMinIO Serve…

MinIOをGithub Actionsで利用してみる

「MinIOを触ってみた」という記事を書いてから、MinIOをなんかで利用できないかな〜と考えていた。 そんで「GitHub ActionsでMinIOを動かせれば、S3のAPIを利用したアプリケーションのCI/CDで役立つんじゃね?」と思ったので試してみることにした。 MinIOサ…

MinIOを触ってみた

MinIOなるものを見つけて、興味を持ったのでちょっとだけ触ってみた。 といっても今日は起動を試して見るだけ。 MinIOは何回かに分けて取り上げようかなと思う。 MinIOとは? 簡単に言うと、goで実装されたオブジェクトストレージ。 クラウドネイティブな利…

duコマンドで肥大化しているファイルが見つからない時はlsofコマンドを使うと良い

2週間くらい前の話になりますが、ウチのサービスで起きたオンコール対応についてネタにします。 ディスク使用率が増加してアラートが飛んできた 見ての通り/の使用率が90%に到達。 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 273G 232G …

Godanキーボードをお試し中

スマホで日本語入力をするとき、多くの人はフリック入力を使っていると思います。 ですが私は、最近までQWERTYを使っていました。 フリックを使おうとも考えたのですが、どうにも手が慣れず。。。ずっとQWERTYを使ってきました。 日本語入力の場合、慣れれば…

systemdな環境ではmysqld_safeではなくsystemdの環境変数を用いるらしい

CentOS7環境にmysqlを導入しmysqld_safeを使おうと思ったら [root@mysql-server ~]# mysqld_safe -bash: mysqld_safe: コマンドが見つかりません とでました。 MySQL :: MySQL 5.7 Reference Manual :: 2.5.10 Managing MySQL Server with systemd より Note…

Rasberry Pi 4って意外と熱を持つなぁと思った話

Rasberry Pi 4を購入しました 最近ふと何か作ってみようかなと思いラズパイを勢いで購入しました。 購入したのはこちら。 初めてラズパイを触るのでスターターキットが無難かな思って選びました。 Pi4 B 8GB スターター キット V2 オンライン教材付 [RASST48…

.terraform-versionを使ってterraformのバージョンをリポジトリごとに管理する話

私の会社ではいろんなサービスでterraformを使っていますが、サービスごとにバージョンがばらばらで0.11だったり0.13だったりします。 サービスごとにterraformのリポジトリが別れているので都度tfenv useで切り替える必要がありますが、だんだん面倒になっ…

頭の中身を言語化することで「考える」ことがはじまるという話

仕事をしていると、話し合いの場面、文章を書く場面、ある課題の解決策を練る場面、などなど考えたり言葉を発したりする場面が多々あります(仕事以外でもあるけど)。 こういったことに対して、筋道を立てて考えたり話たりする手法が存在しています。 ロジ…

docker runコマンドが長いのでaliasで簡略してみた話

Linux環境でdockerを使おうと思った時の話です。 docker runを実行するときってたいていこんなふうに書きますよね? $ sudo docker run -it --rm IMAGE COMMAND IMAGE:イメージ名 COMMAND:実行したいコマンド オプション抜きにしてもコマンドがそこそこ長…

ブログはじめました

4年前にもブログを少しだけ書いていたので再開しましたというべきでしょうか? でも私にとっては心機一転、0からのスタートという気持ちで書きたいのであえて「はじめました」と言わせてください。 きっかけのおはなし 私はエンジニアをやっているものです。…