容器化網絡和日誌的選型和落地

[TOC]linux

容器化網絡和日誌的選型和落地

網絡選型(k8s和mesos)

思考 && 痛點

  1. 能否跨機器訪問? 跨域訪問?docker

    • flannel能夠跨容器通訊
    • 跨主機的容器互聯
    • 容器與外部互聯
  2. 是否支持靜態ip , 固定ip ? 域名訪問?設計模式

    • 固定ip的話,那麼就須要每次部署或者更新或重啓的時候,ip保持不變
    • overlay network, Docker 1.6 能夠實現跨主機通訊
  3. 是否支持dns?跨域

  4. 4層/7層訪問網絡

  5. 容器庫容後的網絡分佈式

  6. ip端口,最好不要自行手動規劃工具

  7. 網絡策略,防護 ,隔離 ?性能

    • 容器集羣不一樣應用之間的網絡隔離和流量限制

方案

  1. 方案類別阿里雲

    • 隧道方案, 經過隧道,或者說Overlay Networking的方式:
      • Weave,UDP廣播,本機創建新的BR,經過PCAP互通。
      • Open vSwitch(OVS),基於VxLAN和GRE協議,可是性能方面損失比較嚴重。
      • Flannel,UDP廣播,VxLan。
    • 路由方案
      • Calico,基於BGP協議的路由方案,支持很細緻的ACL控制,對混合雲親和度比較高。
      • Macvlan,從邏輯和Kernel層來看隔離性和性能最優的方案,基於二層隔離,因此須要二層路由器支持,大多數雲服務商不支持,因此混合雲上比較難以實現。
      • 性能好,沒有NAT,效率比較高, 可是受限於路由表,另外每一個容器都有一個ip,那麼業務ip可能會被用光.
  2. 網絡的兩大陣營設計

    • Docker Libnetwork Container Network Model(CNM)陣營(Docker Libnetwork的優點就是原生,並且和Docker容器生命週期結合緊密)

      • Docker Swarm overlay
      • Macvlan & IP network drivers
      • Calico
      • Contiv(from Cisco)
    • Container Network Interface(CNI)陣營 (CNI的優點是兼容其餘容器技術(e.g. rkt)及上層編排系統(Kuberneres & Mesos))

      • Kubernetes
      • Weave
      • Macvlan
      • Flannel
      • Calico
      • Contiv
      • Mesos CNI
  3. 常見的解決方案有:

    • flannel vxlan,overlay方式
    • calico,三層隔離,跨子網部署時,若是網關不支持BGP,則須要走ipip tunnel的overlay方式
    • ipvlan macvlan,物理二層/三層隔離,目前須要pipework工具在單個節點上配置,僅作了vlan隔離,不解決arp廣播
    • swarm native vxlan,跟flannel vxlan相似
    • neutron sdn,選擇就多種了,ml2+ovsplugin,midonet,vlan or vxlan
    • contiv,思科主導,sdn解決方案,能夠用純軟的ovs,也能夠用ovs+cisco硬件sdn controller
    • linux bridge+三層交換機:host上 linux bridge 設置爲三層交換機的子網網段,容器之間通訊走二層交換,容器與外部走三層交換機的網關。
  4. 業界經常使用網絡選型

    • kubernetes + flannel

      • Flannel已經支持UDP、VxLAN、AWS VPC和GCE路由等數據轉發模式。
      • kubernetes 下有 flannel、openvswitch和weave能夠實現Overlay Network
      • 惟品會 contiv netplugin方案(固定外網ip) + flannel
      • 京東 Flannel + Neutron + OVS
    • Mesos + Calico

      • Mesos支持CNI標準規範
      • 一容器一ip, 網絡隔離, ip分配, L3的虛擬網絡
      • 去哪兒 Mesos + Calico
      • 七牛 Bridge+ NAT + Open vSwitch
    • contiv主要用戶能夠根據實例IP直接進行訪問

    • 魅族雲 OVS & VLAN + SR-IOV

    • ucloud: vswitch overlay的"大二層"網絡SDN組網方案 + ipvlan

日誌監控選型(包括監控,統計)

docker因爲分層設計模式,容器裏面沒法固化數據, 容器銷燬裏面的數據就會丟失, 所以日誌須要掛載到宿主機上, 或者使用分佈式存儲如ceph

  1. 監控可選方案

    • cAdvisor + InfluxDB + Grafana
    • cAdvisor + Prometheus + Grafana
    • Graphite
    • Zabbix
    • Datadog
  2. 日誌可選方案

    • logstash
    • ELK
    • Graylog
    • flume
    • heka
    • fluentd
  3. 業界方案

    • 阿里雲 : cAdvisor + InfuxDB + prometheus
    • 協程: ELK
    • 知乎: Graphite + cAdvisor
相關文章
相關標籤/搜索