Home

This blog is a bit of everything I have been providing my service to my clients. Main areas are on enterprise networking and cloud infrastructure.

  • Migrate 20 on-premise servers to cloud services with reproduceable script, some of them converted to serverless function
  • Network performance monitoring setup of 200 nodes and workflow setup with Zabbix
  • Secure 30 nods kubernetes cluster with machine learning, from cloud iinfrastrucutre level up to application level
  • Onboard and migration of 50 sites, 15,000 users to SDWAN and SD-Access
  • etc. etc.

For network engineers looks for cloud troubleshooting tips, go to Cloud Troubleshoot Blog.

Please click the tag you are interested in to see the related posts.

About

I like technologies, especially for networking, which I have worked for more than 10 years. But it is difficult to keep updated on all the new technologies, and it is even more difficult to remember which technologies I have tried. Sometimes I just try one new technologies and completely forget afterwards. And as you may experience as well, I try the same thing again.

This site is created for my personal notebook, so that I can keep all my trial and error records, and thought. Please be noted that all thoughts here are my personal view.

Though I specialise in the network, small LAN to the overlay -e.g. kubernetes, sd-wan, please contact me anything if you are interested via contact form. 

Blog

Antrea CNI pluginの導入とフローテーブル

Kubernetes用のCNIプラグインとしてVMWareがオープンソースで開発しているのが”Antrea”です。大きな特徴は、データパスにOpenVSwitchを使っていて、プロジェクトが発表された2019年の投稿によると、以下の利点があるようです。 性能 … OVSはiptablesよりパフォーマンスが良く、ルールが多いほど差は顕著になる 携帯性 … OVSはLinux、Windows、その他のOSでサポートされている 運用性 … 既存のOVSの資産を使って障害解析や監視ができる 柔軟性と拡張性 … OVSは新機能の統合を容易にできる この投稿では、AntreaをCNIプラグインとしてKubernetesを構築し、Overlayネットワークとネットワークポリシーがどのように構成されているのかを見てみましょう。ここでは次の構成で組んでいます: 3x AWS EC2 instance (one master, two worker node) kubeadm antrea (v0.9.1) 1. Kubernetesクラスタの作成EKSやGKEなどではAntreaを使ったOverlayネットワークがまだサポートされていないため、EC2インスタンスを使って自前のKubernetesクラスタを作成します。EC2インスタンスはt2.medium、セキュリティグループは外部からのSSH接続、各ノード間の通信が許可されるように設定してます。masterノードの初期化が終わったら、画面の出力に沿ってKUBECONFIGを保存します。その後に、画面に表示されている sudo kubeadm join… をworkerノードで実行します。この状態で kubectl get node を実行して、ノードが3つ表示されていることと、ステータスが Not Ready になっていることを確認します。質問:なぜ各ノードは”Not Ready”なのでしょうか?回答:Kubernetesの各ノードはkubeletの起動時にネットワークでCNIを使用する( –network-pugin=cni )ように指定された場合、特定のディレクトリにCNIのバイナリ及び構成ファイルを配置する必要があります。Kubeadmで構成した場合は、/opt/cni/bin/配下にバイナリはありますが、/etc/cni/net.d/にCNIの設定ファイルがないため、Readyとなりません。 2. Antreaの導入Antreaを導入するには、次のコマンドでマニフェストを読み込むだけです。これにより、Antreaに必要なKubernetesオブジェクトが作成されます。アーキテクチャの詳細は公式ドキュメントのページが参考になりますが、主なオブジェクトとしては、コントローラの役目を果たす”Antrea Controller”、そしてDaemonSetとして各ノードに配置されCNIプラグインとして動く”Antrea Agent”があります。この状態で kubectl get node を実行して、ノードのステータスが Ready になっていることを確認します。質問:なぜ各ノードが”Ready”になったのでしょうか?回答:Antrea-Agentがそれぞれのノードに配置されると、initContainerとして”isntall-cni”が作成されます。このコンテナは、/etc/cni/net.d/にantreaの構成ファイルを、/opt/cni/bin/にantreaのバイナリをそれぞれ配置します。これによりCNIプラグインの使用準備が整ったと判断され、kubeletからAPI-Serverに対して”Ready”が通知されます。この図からも見えるように、antrea-agentはOpenVSwitchを作り、ホスト接続用のantrea-gw0というインタフェースとOverlay用のantrea-tun0というインタフェースを作成します。 3. Podの作成と疎通試験試験用に名前空間を作成します。  Nginxサーバを作成します。クライアントを作成し、Nginxサーバに接続できることを確認します。質問:PodのIPアドレス(192.168.0.0/16)は外部(この場合はAWS VPC)に経路情報がありません。では、なぜPod同士の接続が可能なのでしょうか?回答:Podからの通信はOpenVSwitchに着信後、Geneveでカプセル化されます。その結果、外に出ていくパケットは「送信元:Podがあるホストのeth0のIPアドレス、送信先:NGINXが動いているPodがあるホストのeth0のIPアドレス」になるため、VPC上で正常にルーティングされます。では、この通信がどのように実現されているかを、手順を追って詳しく見ていきましょう。現在のクラスタの状態は下の図を参照してください。 …

Contact

Contact Me via

  • contact form or;
  • drop me an email at shogo.kobayashi[at]cloudnative.org.uk





Security

Security is there to protect you and your company, but often times it’s used to blame you and make staff life difficult. And the productivity decrease.

Security should be transparent as much as possible to users, but it’s deployed to limit the functionality or to make operation more complicated. And users are forced to look for loophole.

If the security is not introduced properly, it makes no good or it may cause things even worse.

Continue reading “Security”