質問: pod間通信をssl化するため、サーバ証明書をkubernetesのCAに署名してもらおうと思っています。 これをpodにマウントするには、どんなやり方がありますか? いちいちdownloadしてsecretに渡すという方法しか思いつかず、 何かいい方法があるような気がして、ググり方に困っています。
回答: やはり、secretとして保存するのが良さそうです。 api serverに接続する際に使う証明書は、master nodeで保存される場所が決まっているのですが、api server向けでない証明書は、自分で保存場所を決め、有効期限の管理をする必要がありそうです。 caの証明書は、api serverでサーバ証明書の妥当性を突き止めるために、service accountがマウントしてくれます。 追記4/20 kubernetesでは自前のcaで署名できるという記載がdocumentにありますが、実際のサーバ証明書として確立されている方法は、Let's encryptをCAとして、cert-managerというaddonを入れて管理するようです。 Let's encryptは証明書の更新について自動化させるACME プロトコルなるRFCが定義されていて、環境ごとの証明書も発行してくれます。主要なブラウザにも対応しているため、フロントに立てることもできます。(ドメインの所有を証明するだけですが) secretへの投入はcert-managerがやってくれるようです。