Tungsten

Tungsten Fabric Primer

最近 Tungsten Fabric Primer という文書を書いている。 https://github.com/tnaganawa/tungstenfabric-docs/blob/master/TungstenFabricPrimer.md インストール、状態確認、設定変更、アップデート、監視ツールとの連携、等、Tungsten Fabric の構築・運用…

JNCIA-Cloud, JNCIS-Cloud 取得記

先日、JNCIA-Cloud, JNCIS-Cloud を取得したので、その時のメモとなる。https://www.juniper.net/jp/jp/training/certification/certification-tracks/cloud-track?tab=jncia-cloudhttps://www.juniper.net/jp/jp/training/certification/certification-trac…

juju charm による openstack / Tungsten Fabric インストール

以下の記述に従い、juju charm による openstack / Tungsten Fabric インストールを試してみている。 https://github.com/Juniper/contrail-charms/blob/R5/README.md https://github.com/Juniper/contrail-charms/blob/R5/manual-deploy.md環境としては、ub…

2 kubernetes クラスタ間の名前解決

TungstenFabric の kubernetes クラスタ2組で、他のクラスタ内の svc / pod の名前解決、および ping 疎通が出来るか、を確認してみている。 環境としては、AWS 上の CentOS7.5 4台 (ami-3185744e, t2.medium) を使用した。ansible-deployer でのインストー…

introspect-cli

TungstenFabric の control には多数のルートが登録されており、これらを cli で確認する方法を探していたのだが、以下のツールで実施することが出来たので、出力例を記載しておく。 https://github.com/vcheny/contrail-introspect-cli特に ./ist.py ctr ne…

4,872ノードでの負荷状況

前回に続いて、4,872ノードでの負荷状況を確認してみている。 http://aaabbb-200904.hatenablog.jp/entry/2019/03/17/222320※ 本来は kubernetes クラスタの最大数である、5,000ノードで検証したかったのだが、実機で試したときは このノード数しか起動でき…

1,000ノードクラスタの負荷状況

多数のノードが含まれるクラスタでの負荷状況を確認するため、aws の環境を使って、1,000ノードのTungstenFabricクラスタを試してみている。台数が多く、ansible-deployer だと構築に時間がかかったため、今回は以下のリンク先に従って、 kube-manager, vRou…

TungstenFabric の deployment pattern

TungstenFabric には多数の機能があるため、どのケースでどの機能を使えるのか、をまとめてみている。 1. openstack, kubernetes を使うケース この場合、vm, container へのアクセスは floating-ip 経由になるため、もっとも簡単な構成は、gatewayless の仮…

TungstenFabric環境でのIstioインストール

以下の動画の構成で、TungstenFabric環境でのIstioインストールを試してみている。 https://www.youtube.com/watch?v=VSNc9qd2poA環境としては、AWS 上の CentOS7 (ami-3185744e) を使用し、 controller x 1: mem 8GB, disk 8GB, vRouter x 1: mem 4GB, disk…

analytics_database 無しでのインストール

直近の tungsten fabric では、以下の spec に従い、analytics 関連の各コンポーネント無しでのインストールが可能となっている。 https://github.com/Juniper/contrail-analytics/blob/master/specs/analytics_optional_components.md今回は analytics のみ…

Ubuntu18.04でのTungstenFabricインストール

Ubuntu18.04 での Tungsten Fabric インストールを試してみている。今回もAWS上のインスタンスを使用している。 AMIとしては、Ubuntu Server 18.04 LTS (HVM) (ami-07ad4b1c3af1ea214) を使用した。環境としては、controller 1台 (t2.large, disk 30GB)、vRo…

gatewayless からの floating-ip 取得

Tungsten Fabric の floating-ip は、通常、SDN-GW に MPLS over (GRE/UDP) で拡張したサブネットから取得するが、 gatewayless を指定したサブネットから取得することが出来るかどうかも調べてみた。 結果として、少なくとも kubernetes から service, ingr…

TungstenFabric のビルド方法

TungstenFabric をビルドしてみたときのメモとなる。ベースとして、以下のレポジトリの記載を使用している。 https://github.com/Juniper/contrail-dev-envビルドするソースのタグとしては、r5.0.1 を使用した。 ビルド環境としては、aws 上のEC2 インスタン…

tungsten-fabric の prometheus連携

tungsten-fabric では、analytics ノードを使って、可視化/アラーム等を設定できるが、既存の監視システムがある場合は、APIを使ってパフォーマンス量を取得し、そちらで可視化を行う方が便利なケースがある。サンプルとして、prometheus に取り込むケースを…

TungstenFabricのoVirt連携

(公式には連携対象に含まれていないが) oVirt と TungstenFabric の連携を試してみたので記載しておく。 https://github.com/tnaganawa/ovirt-tungstenfabric-integration動作として、oVirt の neutron 連携機能を使用している。 https://www.ovirt.org/docu…

TungstenFabricのsupport-info

TungstenFabric の動作を解析するとき、必要となる情報についてまとめておく。まず、ファイルシステム上にある情報として、 /var/log/contrail, /etc/contrail 内の各ファイルと、各コンテナについての docker logs で、 各コンテナの状態について、ある程度…

configdbのデータ冗長の動作

Tungsten Fabric (以下、TF) ではデータベースとしてcassandra を使っているが、この部分の冗長の動作を確認してみている。環境としては、こちらのリンク (http://aaabbb-200904.hatenablog.jp/entry/2018/04/28/215922) の k8s+TF をベースに、TF controlle…

transparent service chain

Tungsten Fabric では、以前記載したL3 のサービスチェイン (http://aaabbb-200904.hatenablog.jp/entry/2017/10/29/223844) に加えて、L2のVNFのサービスチェインにも対応している。 http://www.opencontrail.org/building-and-testing-layer2-service-imag…

TF gatewaylessの経路をVyOSに配布

Tungsten Fabric (以下、TF) のgatewayless では、vrouter 上に存在し、ip fabric forwarding が有効になっているvmi (通常は、コンテナを想定) について、その経路を、bgp (family inet) で配布する機能がある。 https://github.com/Juniper/contrail-specs…

プロキシ環境下でのTungsten Fabricインストール

プロキシ環境で、Tungsten Fabric (以下、TF) をインストール出来るか、について確認した際のまとめとなる。 ※ 確認時には、k8s との組み合わせで試したので、openstack インストールの場合には、また別の設定が必要になるかもしれない。 ※ ベースの手順とし…

analytics機能無しでのインストールを行った場合の動作

Tungsten Fabric の analytics は、アラーム、可視化などの多くの有用な機能を提供するが、既に監視の仕組みが別途あるような場合には、analytics 無しで、control / vrouter 等の機能だけを、使いたいケースもあるかもしれない。この場合を想定して、contro…

contrail-status, nodemgr, analytics

Tungsten Fabric では、contrail-status というコマンドで、各コンポーネントのステータスを確認することが出来る。 こちらの動作と、実際に、ステータス情報を提供するnodemgr について、ざっくりとまとめていく。 合わせて nodemgr 等からの情報を集約管理…

gatewayless, distributed snat

Tungsten Fabric の4.1 以降では、gatewayless という機能が加わっている。 https://github.com/Juniper/contrail-specs/blob/master/gateway-less-forwarding.md通常、Tungsten Fabric では、外部とのアクセスを行うためにはexternal router (L3VPNの機能が…

fw-policy, k8s labelによるタグ制御

Tungsten Fabricの4.1以降では、webui にSecurity, Tags といったタブが追加されている。 このタブは、fw-policy の設定に使用可能で、仮想ネットワーク間のアクセス制御や、vm間のアクセス制御に使用できる。 https://github.com/Juniper/contrail-controll…

metadata ip address

Tungsten Fabric で vm/container 等を作った後、直接vm/containerにログインを行い、動作を確認したい場合がある。 この場合、vrouter上の各vmiに割り振られる、metadata ip address が使用できる。 ※ k8sであれば、kubectl execも使用可能metadata ip addr…

L2-only virtual-network

Tungsten の仮想ネットワークは、通常、L3の動作を含んだものとなる。 例えば、vrouter が提供するgwのipに対しては、仮想ネットワーク内のvmからは、常にping が飛ぶ状態となっている。ただし、Tungsten の仮想ネットワーク定義は、これ以外に、L2だけを提…

vlan subinterface

Tungsten Fabric では、VNFからvlanタグがついたパケットが送出された場合に、別の仮想ネットワークにパケットを入れる、という制御が実施できる。多数のVRFで同じVNFを共有する場合、等に活用できるのではなかろうか。 ※ 設定方法としては、以下の動画の通…

k8sのrollout機能

kubernetes では、rollout という機能で、無停止でのアプリケーション更新を実施できる。(deployment定義時に使用可能) https://kubernetes.io/docs/concepts/workloads/controllers/deployment/今回は、TF上のdeploymentで上記を行った場合に、アプリケーシ…

TF上でpacemakerを動かしてみたときの動作

Tungsten のarp対応ロジックは、HAクラスタ等で使われる gratuitous arp にも対応している。 https://github.com/Juniper/contrail-controller/wiki/Contrail-VRouter-ARP-Processingサンプルとして、k8s上のcentos7で、pacemakerを動かして動作を確認してみ…

TungstenFabricとVyOSのBGPaaS

Tungsten Fabric の機能の一つに、BGPaaS という機能がある。※ ユースケースとしては以下を参照 https://blueprints.launchpad.net/juniperopenstack/+spec/bgp-as-a-service https://blueprints.launchpad.net/juniperopenstack/+spec/bgp-as-a-service-v2 …