【Kubernetes】Calicoインストール時にハマったこと。


 先日、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で設定ファイルを削除し、再度確認すると、

Calicoが生成したIPアドレスに置き換わり、ネットワークポリシーも適応できるようになりました。


まとめ

初Kubernetes、仕組みを理解しない状態で触るとハマりポイントが非常に多く、苦戦していますが、わかると楽しく、非常に面白いシステムです。
是非皆さんも遊んでみてください。




つぎはFlannelで遊ぶぞー。ばいち

コメント