先日、Kubetenetes-The-Hard-Way(オンプレ3台構成にアレンジしてます)を行い、初めてKubernetes触れました。その後、ネットワーク周りで遊ぶためにCalicoをインストールしようとしたところ、若干ハマった部分があるので、簡単にご紹介します。
症状
Install Calico networking and network policy for on-premises deploymentsを参考にCalicoとcalicoctlを kubectl apply -f calico.yaml , kubectl apply -f calicoctl.yaml でデプロイしました。
yamlファイルにはPod CIDRの項目のみ、変更を行っています。
しかし、Podに割り振られるIPアドレスはデプロイ以前と同様のもので、Kubernetes policy, basic tutorialを参考にネットワークポリシーのテストをしても、中途半端に反映されているような挙動をし、アクセス拒否の設定をしても、アクセスできてしまう(未設定時より時間かかったりする印象)といった状態でした。
原因と改善策
そこで、改めてCalicoのインストール手順やKubernetes-The-Hard-Wayの手順を確認した所、初歩的なミスを見つけました。
Calicoをインストールする際は
が不要になります。また、オンプレ用にカスタマイズして行っていたルーティングの設定も不要になりました。
ここでは、10-bridge.conf, 99-loopback.confを作成していますが、Calicoをインストールすると以下のようなコンフィグファイルが自動で生成されます。
というわけで、rm 10-bridge.conf 99-loopback.confで設定ファイルを削除し、再度確認すると、
まとめ
初Kubernetes、仕組みを理解しない状態で触るとハマりポイントが非常に多く、苦戦していますが、わかると楽しく、非常に面白いシステムです。
是非皆さんも遊んでみてください。
つぎはFlannelで遊ぶぞー。ばいち
コメント