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

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

この場合を想定して、controller / analytics / analyticsdb のうち、controller だけでのデプロイを試してみている。

設定方法は、以下のリンクのk8sの場合と同様だが、インストール時の設定としては以下を使用している
http://aaabbb-200904.hatenablog.jp/entry/2018/04/28/215922
※ リンク先と比べて、analytics, analytics_database の2行を削除している

provider_config:
  bms:
   ssh_user: root
   ssh_public_key: /root/.ssh/id_rsa.pub
   ssh_private_key: /root/.ssh/id_rsa
   domainsuffix: local
instances:
  bms1:
   provider: bms
   roles:
      config_database:
      config:
      control:
      webui:
      k8s_master:
      kubemanager:
   ip: 172.31.15.99
  bms2:
   provider: bms
   roles:
     vrouter:
     k8s_node:
   ip: 172.31.1.148
contrail_configuration:
  CONTAINER_REGISTRY: opencontrailnightly
  CONTRAIL_VERSION: latest
  KUBERNETES_CLUSTER_PROJECT: {}

インストールが終わった後、contrail-status を実行したところ、以下の結果となった。
※ collector への接続が張れない状態となっている

(master)
[root@ip-172-31-15-99 ~]# contrail-status 
Pod         Service         Original Name                          State    Status            
config      api             contrail-controller-config-api         running  Up About an hour  
config      cassandra       contrail-external-cassandra            running  Up About an hour  
config      device-manager  contrail-controller-config-devicemgr   running  Up About an hour  
config      nodemgr         contrail-nodemgr                       running  Up About an hour  
config      rabbitmq        contrail-external-rabbitmq             running  Up About an hour  
config      schema          contrail-controller-config-schema      running  Up About an hour  
config      svc-monitor     contrail-controller-config-svcmonitor  running  Up About an hour  
config      zookeeper       contrail-external-zookeeper            running  Up About an hour  
control     control         contrail-controller-control-control    running  Up About an hour  
control     dns             contrail-controller-control-dns        running  Up About an hour  
control     named           contrail-controller-control-named      running  Up About an hour  
control     nodemgr         contrail-nodemgr                       running  Up About an hour  
kubernetes  kube-manager    contrail-kubernetes-kube-manager       running  Up About an hour  
webui       job             contrail-controller-webui-job          running  Up About an hour  
webui       web             contrail-controller-webui-web          running  Up About an hour  

== Contrail control ==
control: initializing (Collector connection down)
nodemgr: initializing (Collector connection down)
named: active
dns: active

== Contrail config ==
api: initializing (Collector connection down)
zookeeper: active
svc-monitor: initializing (Collector connection down)
nodemgr: initializing (Collector connection down)
device-manager: initializing (Collector connection down)
cassandra: active
rabbitmq: active
schema: initializing (Collector connection down)

== Contrail webui ==
web: active
job: active

== Contrail kubernetes ==
kube-manager: initializing (Collector connection down)

[root@ip-172-31-15-99 ~]#

(slave)
[root@ip-172-31-1-148 ~]# contrail-status 
Pod      Service  Original Name           State    Status            
vrouter  agent    contrail-vrouter-agent  running  Up About an hour  
vrouter  nodemgr  contrail-nodemgr        running  Up About an hour  

vrouter kernel module is PRESENT
== Contrail vrouter ==
nodemgr: initializing (Collector connection down)
agent: active (Collector connection down)

[root@ip-172-31-1-148 ~]# 

webui を開いてみたところ、Monitor の部分は、ほとんどの値が取得できない状態になっているが、Configure の部分は、通常通り、動作する状態となった。
f:id:aaabbb_200904:20180519210117p:plain
f:id:aaabbb_200904:20180519210132p:plain

また、この状態で、cirros2つをk8s上に作成してみたところ、特に問題なく疎通が可能となった。
control / config / vrouter だけが関連する部分については、一応動いているように見える。

[root@ip-172-31-15-99 1_initial]# kubectl get pod -o wide
NAME      READY     STATUS    RESTARTS   AGE       IP              NODE
cirros1   1/1       Running   0          31s       10.47.255.251   ip-172-31-1-148.ap-northeast-1.compute.internal
cirros2   1/1       Running   0          27s       10.47.255.250   ip-172-31-1-148.ap-northeast-1.compute.internal
[root@ip-172-31-15-99 1_initial]# 
[root@ip-172-31-15-99 1_initial]# 
[root@ip-172-31-15-99 1_initial]# kubectl exec -it cirros1 sh
/ # ping 10.47.255.250
PING 10.47.255.250 (10.47.255.250): 56 data bytes
64 bytes from 10.47.255.250: seq=0 ttl=63 time=0.421 ms
64 bytes from 10.47.255.250: seq=1 ttl=63 time=0.080 ms
^C
--- 10.47.255.250 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.080/0.250/0.421 ms
/ # 
/ # 
/ # 
/ # [root@ip-172-31-15-99 1_initial]# 
[root@ip-172-31-15-99 1_initial]# 


メモリ使用量も、analytics ありの場合と比べてかなり抑えられていたので、メモリ制限が厳しく、alarm 等を設定する必要が無い場合は、こちらの構成であれば、動作させられるのかもしれない。

※ analytics 無しの場合
[root@ip-172-31-15-99 1_initial]# free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        5.9G        4.1G         18M        5.5G        9.0G
Swap:            0B          0B          0B
[root@ip-172-31-15-99 1_initial]#

※ analytics 有りの場合
[root@ip-172-31-7-53 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:            15G         11G        247M         18M        3.5G        3.1G
Swap:            0B          0B          0B
[root@ip-172-31-7-53 ~]#