コーヒー豆記録

ひかるコーヒー、ひかるブレンドII、中炒り、200g

ナイスカットミルの展示があったので眺めるなど。思ってたより小さくてかわいい。置き場所確保できればありだなあ。

JetBrains Toolboxを導入

JetBrainsNightでToolboxを使って一括管理すると便利、ということを知ったので早速導入。バージョンアップやEAPの利用が簡単にできてよいね。Toolbox管理下にするとLaunchpadから消えて、Alfredから起動できなくなる。どうしたものかと思っていたけど、 https://intellij-support.jetbrains.com/hc/en-us/community/posts/205965644-IntelliJ-IDEA-Ultimate-2016-2-5-Missing-in-Launchpad-and-Spotlight で検索範囲を設定すればOKということがわかったので設定して快適になった。

cloud-provider-openstackを使って、keystoneでk8sのユーザー認証を行う

v1.10より前のバージョンだと、apiserverででexperimental-keystone-url オプションを設定し、クライアントのkubeconfigでユーザー名とパスワードを設定すればkeystone認証できていた。しかし、v1.10ではこのオプションが削除されたため、別の方法としてcloud-provider-openstackを使う。このリポジトリはいろいろ混ざっていてややこしく、LBaaSやCinderとの連携機能についても提供している(別コマンド)。

さて、cloud-provider-openstackを使ってkeystoneによるユーザー認証を実現するにはクライアント側、サーバー側それぞれで設定が必要になる。クライアント側ではKeystoneからトークンを取得し、apiserverへ送る。サーバー側であるapiserverでは受け取ったトークンを使ってkeystoneに問い合わせ、そのトークンがユーザーが発行したものであることを確認する。

まずはクライアント側の設定についてだが、cloud-provider-openstackからclient-keystone-authをダウンロードし(ビルドしてもOK)、実行可能なPATHに配置する。そして、kubeconfigのユーザーとして以下のような設定を追加、コンテキストとして利用できるようにする。

次にサーバー側だが、apiserverでwebhookを有効にし、webhook先をk8s-keystone-authにする。

webhookconfig.yamlは以下の通り。10.233.0.3はk8s-keystone-auth用のサービスが持つClusterIPを指定する。

k8s-keystone-authはDeploymentとして動かしておく。

これで、v1.10以降でもKeystoneを使った認証を行うことができる。認可についても可能なようだが、今のところ認可はRBACを使っていて困っていないので認証だけでいいかな、という気持ち。