Johnman.md

プログラミングのことや個人的なことを書きます。たぶん。

zennで技術記事を書いてみることにした

最近zennの記事を読むことが増えました。 スマホChromeを開くと表示されるDiscoverのなかにちょこちょこzennが混ざっていて、気になったものを読む感じ。

読んでいるうちに「自分もちょっとzenn使ってみるか」という気持ちになってきたので、しばらくの間、技術記事はzennで書こうかなぁと思います。

ひとまず前回の記事をzennでも公開してみました。

zenn.dev

まだ触り始めたばかりですが、だいたい下記のような魅力を感じています。

  • エンジニアにリーチしやすい
  • Markdownが使える
  • GitHubと連携して管理できる

エンジニアにリーチしやすい

はてなブログはエンジニア向けの記事が多いとはいえ、エンジニアリング以外の内容もたくさんあり、なかなかエンジニアにリーチするのが難しいかなぁと感じています。もっと魅力的な記事を書けと言われればそれまでですが。

それに対してzennはエンジニアに特化したサービスです。そのため人に見てもらいやすいのかなぁと思っています。 ただ、これは実際に続けてみてどうなるかって感じですね。

Markdownが使える

やっぱりドキュメントを書くときはMarkdownを使いたいです。 はてなブログでも一応使えますが、はてな記法だったり一部独特な雰囲気を感じています。別のところで流用しようとすると地味に修正箇所があったりするんですよね。

zennだと完全にMarkdownで書ける(と思っている)ので、移植もしやすいかなと思っています。

GitHubと連携して管理できる

普段自分が書いているものはバージョン管理したくなってしまいます。コードでも文章でも、ある程度のところでコミットして、ほかのPCでも触れるようにリモートリポジトリへpushしたり。 zennは標準でGitHubと連携して記事を作成・管理することができます*1

独自のCLIを使う必要があるため若干面倒な気もしますが、一度コマンドを打ってしまえばあとは記事を書いてpushすれば自動で公開なんかもしれくれます。しばらく使ってみて体験がどんなものか試してみたいです。

というわけで

今後は技術的な内容の記事はzennに載せていこうかなと考えています。 「やっぱりはてながいいや」となったら出戻りもあるかもしれません。よろしくどうぞ。

Helmfileを使ってHelm Chartにないリソースを作成・管理する

はじめに

Helmを使っていると、Helm Chartには存在しないリソースを追加で作りたいということがあります。

直近あった例は、ArgoCDをHelmで導入したいが、Secretの管理にはExternal Secretを使いたいというケースです。HelmはChartで定義されているリソースしか作れないので、ArgoCDのHelm Chartとは別にリソースを定義する必要があります。

ここで問題になってくるのがマニフェストの管理方法です。 ArgoCDのHelm Chartでは管理できないからといって全く別のところにマニフェストを置いてしまうと、ArgoCDで使うリソースなのに定義が離れてしまって構成が理解しづらくなります。

この記事では、Helmfileを使ってArgoCDのHelm Chartと追加リソースを一元的に管理する方法を紹介します。

  • はじめに
  • Helm
  • Helm Chartに含まれないリソースは作れない
  • Helmfile
  • 独自のHelm Chartを作成してHelmfileで管理する
  • まとめ

続きを読む

skaffold v1.36.1までskaffold.yamlのstatusCheckフィールドが使えなかった

仕事でKubernetes上でアプリケーションを動かしていて、デプロイにskaffoldを使っています。 実際に自分が開発しているサービスについては下記のブログが詳しいです。

tech.gunosy.io

そのskaffoldのバージョンを上げた際にStateful Setのステータスチェックが走り、それをskaffold.yamlで無効化しようとしてできなかったのでその原因と対処法について書いておきます。

問題

skaffoldはデプロイ時(skaffold devskaffold run など)に、含まれているWorkloadsリソースのステータスチェックを実行します*1。 Deploymentであれば kubectl rollout status deployment を実行して正常終了するまで監視するという感じです。

今回はskaffoldのバージョンを1.15.0から現時点での最新版である1.36.1に上げました。その際に、以前までは実行されていなかったStateful Setのステータスチェックが走るようになり、それにかかる時間が非常に長い影響で skaffold runタイムアウトしCIが失敗するという状況になってしまいました。

ドキュメントを見たところ、skaffold run のオプションとして --status-check=false を指定するか、skaffold.yamlstatusCheck: false を指定すれば無効化できると書いてありました*2

現在の構成ではAPIが動くDeploymentとFluentdが動くStateful Setは別のskaffold.yamlで管理しており、CIではデプロイを同じJobで行っています。そのため、--status-check=false では時間通りに終わるDeploymentのステータスチェックも無効化されてしまいます。今回はStateful Setのみ無効化したかったので、skaffold.yamlstatusCheck: false を指定することにしました。

しかし、実際に skaffold run を実行したところ、skaffold.yamlの設定を無視してステータスチェックが実行されてしまいました。

原因

これは statusCheck: falseでの設定よりもCLI--status-check オプションが優先されることが原因です。 本来 --status-check オプションのデフォルト値はnullであるはずなのですが、誤ってtrueが設定されていました。

そのため、statusCheck: false を指定しても --status-check のデフォルト値が優先され、ステータスチェックが実行されてしまいます。

skaffoldのリポジトリにもissueを投げました。

github.com

対処法

デフォルトでtrueになっているのが原因なので、--status-check の値をnullにすればskaffold.yamlの設定を見るようになります。 具体的には、下記のように空を指定することで対処できます。

skaffold run --status-check=

いつ修正されるか

上述したissueでも触れているんですが、最新のmainブランチのコードを見たところ問題は修正されていました*3

そのため、v1.37.0からは問題なく statusCheck: false が使えるようになっています。

過去のバージョンを使っている人が同じ問題に当たったときの参考になれば幸いです。

2022年 1月の読書記録

最近アルセウスばかりしていて全然本を読めてないです。 1日1ページはなんとかやってます。たぶん。

  • 図書館戦争
  • 誰が音楽をタダにした? 巨大産業をぶっ潰した男たち
  • サラダの歴史
  • 実践Rustプログラミング入門
  • 20歳の自分に教えたいお金のきほん
  • 教養悪口本
  • 知的生産の技術
  • 日本語の大疑問 眠れなくなるほど面白い ことばの世界

続きを読む

2022年はのんびり歩いて本を読む

あけましておめでとうございます。

2022年になりましたね。今年もよろしくお願いします。

新年ということで、今年の目標を掲げてみようと思います。

去年の気持ち

去年からなんとなく健康と読書に興味が向くようになりました。

健康に関しては「空腹」こそ最強のクスリを読んだのがきっかけだったと思います。この本を読んだ後に「書いてあることは本当か?」という疑問とともに、内容はともあれ、「ずっと健康でいたいなぁ」という思いを抱きました。その後人体600万年史を読んで、健康を維持するには意識的な行動が必要だということを実感しました。

そんな中、昨年の僕は次のような目標を立てています。

これは当時毎日のように飲酒していたのを減らしたいという意図がありました。結果としてはたまに家で飲んではいたのですが、それでも根本的な目標だった減酒には成功したので、まぁうまくいたのではないかと思っています。

読書に関してはゆる言語学ラジオの影響が大きいです。パーソナリティのお二人が読書をよくされていて、そこから引き出されるうんちくやハイコンテクストな会話がなんだかいいなぁと思ったのがきっかけです。 子供の頃はわりと本を読んでいたんですが、中高生になった頃からすっかり読まなくなってしまいました。ここらで読書習慣を取り戻していきたいです。

周囲に宣言したことで「言ったからには続けなければ」という思いが湧いて、その結果お酒の量を減らすことができた*1ので、今年はもう一歩先に踏み込んで、最近習慣化したいなと思っていたことを目標にしようと思います。

今年の目標

今年は二つのことを目標にします。

  1. 毎日散歩する
  2. 毎日最低1ページ読書

1. 毎日散歩する

これは健康の文脈から来ています。

コロナ禍でリモートワーク中心の生活になったことで、ただでさえ少なかった運動量がさらに減少しました。日によっては1000歩歩いたかどうかということもあります。 これではやはり体に良くないだろうということで去年から朝に30分程度の散歩をするようにしていました。しかし、寒かったり雨が降っていたりする日には散歩をせず、最終的に散歩をしている日の方が珍しいという状況になってしまいました。

そこで、今年はしっかりと運動量を確保するために散歩することを目標にします。 これで今まではフワッとしていた朝の時間が散歩時間として固定されるので、行かないという選択肢も生まれにくくなるのではないかと思っています。 ついでにピクミンブルームで振り返れるような写真を撮れるといいですね。

2. 毎日最低1ページ読書

これは読書の文脈からです。

去年に読書をしはじめ、10月には図書館を利用するようになりました。 しかし、しばらく時間が経つと(図書館で借りたものであっても)本を積んでいるだけで手をつけないという日がでてきました。

やはり借りたり買ったりした本は読んでいきたい。そこで、最低1ページは読んで本に触れるということを目標にします。1ページとしたのは心理的なハードルを下げるためです。「1週間に何冊」というような目標よりも、具体的で達成しているという実感のある目標の方が個人的に続けやすいだろうという狙いがあります。

ということで、2022年はのんびり歩いて本を読む年にしたいと思います。

しっかりと続けられるよう、やっていきます。

*1:ビジネス書なんかにも書いてあるメソッドですが、案外効いた

2021年を振り返る

2021年ももうすぐ終わるので、今年を簡単に振り返っていこうかなと思う。 せっかく書こうという気持ちになったのだから、書けるときに書いてしまおう。

1月

  • コロナ禍で実家には帰ることができなかったので、彼女の家で年越しをした。いとこのチビと電話をして会いたくなった思い出。
  • 人生初モブプロを体験。その後新入社員のオンボーディングでも使うことになる。
  • シン・エヴァンゲリオンを見るために新劇場版を一気観していた。あっちゃんの動画も参考に。

2月

  • パスワード管理にLast Passを使っていたのだけど、無料版の利便性が低下してしまったのでBitWardenへ移行した。今のところ快適に使えてる。
  • 仕事で地味に使う処理をシェルスクリプトにして管理するようにした。地味に効率化された。リポジトリこれ
  • 身内で使うDiscord botのdokkoiを作った。今でも活躍してくれている。同時にGitHub Actionsもここで触った。
  • ウマ娘のアニメを彼女と一気観。ブームを確信した。

3月

  • すみっコぐらしの映画がよかった。とてもよかった。
  • 小説版仮面ライダークウガを読んでいても立ってもいられなくなってブログを書いた。衝撃だったな。
  • この頃書いたCircleCIでMySQLが動かなくなった問題の記事が後輩の仕事で参考になったりもしたらしい。書いておいてよかった。

4月

  • 仕事では初の後輩ができる。しっかり成長していてすごいなぁと思うばかり。
  • すばせかのアニメが放送。待ち続けた甲斐があった。

5月

  • 引っ越して彼女との同棲生活スタート。住みやすい街で最高。
  • ぽんぽこのカフカがエモすぎる。
  • Slackのチャンネルを未読だけ表示するようにしたらうるささを感じなくなった。

6月

  • 26歳になった。
  • 新居のネットが開通。爆速で感動。
  • オーダーメイドまくらをプレゼントしてもらったりマットレスを買ったりして睡眠環境を改善した。
  • ピーナッツくんの1stライブ「NUTS TO YOU!」開催。画面の前で盛り上がってた。

7月

  • コロナワクチン(モデルナ)1回目。左腕が痛いだけで特に大きな症状はなかった。
  • 一年半ぶりに実家へ帰省した。福岡暑すぎた。
  • 新すばせか発売。14年待ち続けた渋谷を駆け抜けた。
  • ガンダム観たことないけど逆襲のシャアで予習した後に閃光のハサウェイみた。面白かったので続編も観に行くと思う。

8月

  • 今年も地元が沈んだ。大変だなぁ。
  • 竜とそばかすの姫を観て細かいところが気になるようになってしまったあたり、純粋に楽しめなくなっちゃったかもなと思った。

9月

  • gh-bumpを作る。ちょこちょこStarをもらっていたりissue来たりしているので使ってもらえている様子。嬉しい。
  • CKAD合格。試験範囲が変わる前に急いで受けた。資格を取ったのは初めてだったから自信になった。
  • 「幸せをお金で買う5つの授業」を読んだ。お金の使い方に対する考え方が変わった。

10月

  • 図書館に通い始める。読みたい本をとりあえず検索してみると蔵書にあったりすることが多くて便利。
  • この月が今年で一番本を読んだと思う。「ポケモンストーリー」と「本を読む本」が特に面白かった。

11月

  • 有川浩阪急電車がよかった。図書館戦争を読んでみてるけどまだ自分にはあまり刺さってない。
  • やっとひぐらしのアニメを観た。解も観たいけどまだ手を付けられていない。

12月

  • ブリリアントダイヤモンドを購入。まだ殿堂入りもできていないけど、懐かしくて面白い。
  • Mint60を買って組み立てた。これで肩こりが改善されるといいな。
  • 実家に帰省してこれを書いている。明日の飛行機で帰る。あっという間だった。

なかなか記録に残していなかったので後半にかけて雑な振り返りになった。 けど振り返り自体書くのが初めてなので、これを書いたこと自体が自分としては進歩になっている。えらいぞ自分。

来年はもう少ししっかり記録を残していけるといいかもしれない。

なにはともあれ、今年は同棲を始めたことが一番大きな変化だった。 一人暮らしとはやはり勝手が違うのだけど、二人暮らしでしか得られないものもあり、結果的には二人で住むようになってよかったなと思う。 来年も二人でおだやかに暮らしていければいいなぁ。

というわけで、今年もお世話になりました。2021年もよろしくお願いします。