kubeadmを使ってさくらのVPS×3台でマスター1台、ノード2台のk8sクラスターを作成してみた

TL;DR

kubeadmを使ってさくらのVPS3台でのk8sシングルマスタークラスターを作成してみたのでメモ書き。
基本的にドキュメントに書かれているコマンドをベースにすればOKだが、少し違うのは、ドキュメントではマスター兼ワーカーが1台、ノード1台の2台クラスターとなっていると思われるが、この記事ではマスター1台、ノード2台の3台クラスターとするところ。

K8s関連のコンポーネントを利用するためにさくらのVPSにL2スイッチとプライベートネットワークを追加しているがネットワーク回りをあまり理解できておらず、正しいことをやっているのか自身がない。

続きを読む »

GitHub Actionsを使ってPullReqをトリガーにしてTerraform Planを実行させてみた

この記事は公開されてから半年以上経過しています (公開日2019年12月15日)。

GitHub Actionsが11/13に正式リリースされた。

参加はしていないけど Terraform meetup tokyo #3@dehio3 様が以下の発表をされていたそうで、自分は今までローカルでPlan/Applyをやっていたのでこの資料を参考にTerraform × GitHub Actionsをやってみた。

続きを読む »

Allowed memory size of xxxx bytes exhausted (tried to allocate xxxx bytes)が発生したので、PHPのメモリはどこで管理されているものなのか調べた

この記事は公開されてから半年以上経過しています (公開日2019年11月16日)。

php-fpmを動かしていて以下のようなエラーが出た時には、memory_limit 以上にメモリを割り当てようとしているためだと思う。

Allowed memory size of xxxx bytes exhausted (tried to allocate xxxx bytes) ...

ここでpsでプロセスのメモリ使用状態を見た時に、php.inimemory_limitで設定した値以上にphp-fpmプロセスがメモリを確保しているように見えるときがある。
例えば、memory_limit16Mにしていた時のプロセスの状態を見ると、メモリは36860(36M)割り当てられているように見えるけど、php-fpmは普通に動いている。
psで見える物理メモリは実際に書き込まれたときに増えるはずなので実メモリに36M程度割り当てられていることになる…はず。

hoge       28849  0.0  3.4 427360 36860 ?        S    Dec22   2:37  \_ php-fpm: pool example.com

そもそもphp-fpmはどのようにメモリを確保しているのか知らない…とか思い始めたので調べてみた。

続きを読む »