zoukankan      html  css  js  c++  java
  • K8S calico

    一、calico部署

    1、部署calico认证:

    kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
    

    2、下载calico配置文件

    wget  https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml
    

    3、配置文件解析

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: calico-config
      namespace: kube-system
    data:
      # To enable Typha, set this to "calico-typha" *and* set a non-zero value for Typha replicas
      # below.  We recommend using Typha if you have more than 50 nodes. Above 100 nodes it is
      # essential.
      typha_service_name: "none"
      # Configure the Calico backend to use.
      calico_backend: "bird"     //Calico的后端,默认为bird
    
      # Configure the MTU to use
      veth_mtu: "1440"
    
      # The CNI network configuration to install on each node.  The special
      # values in this config will be automatically populated.
      cni_network_config: |-  //符合CNI规范的网络配置,其中type=calico表示,Kubelet从 CNI_PATH(默认为/opt/cni/bin)找名为calico的可执行文件,用于容器IP地址的分配
        {
          "name": "k8s-pod-network",
          "cniVersion": "0.3.0",
          "plugins": [

    二、查看calico的配置

    # kubectl describe IPPool default-ipv4-ippool
    Name:         default-ipv4-ippool
    Namespace:    
    Labels:       <none>
    Annotations:  projectcalico.org/metadata: {"uid":"3507663f-f659-11ea-bd73-b4055d102a60","creationTimestamp":"2020-09-14T07:09:19Z"}
    API Version:  crd.projectcalico.org/v1
    Kind:         IPPool
    Metadata:
      Creation Timestamp:  2020-09-14T07:09:19Z
      Generation:          2
      Resource Version:    353676851
      Self Link:           /apis/crd.projectcalico.org/v1/ippools/default-ipv4-ippool
      UID:                 35077770-f659-11ea-bb45-6c92bffa81a2
    Spec:
      Block Size:    26
      Cidr:          10.42.0.0/16   //子网的范围
      Ipip Mode:     CrossSubnet    //子网的模式
      Nat Outgoing:  true
    Events:          <none>
    

    三、数据包转发过程

    1、3层方案则pod和node ip不同,其本质是在node下发pod ip的路由规则,令pod ip可以物理3层送达pod所在node。

    host-gw 模式的工作原理,其实就是将每个 Flannel 子网(Flannel Subnet,比如:10.244.1.0/24)的“下一跳”,设置成了该子网对应的宿主机的 IP 地址。

    2、所以说,Flannel host-gw 模式必须要求集群宿主机之间是二层连通的

    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         169.254.1.1     0.0.0.0         UG    0      0        0 eth0
    169.254.1.1     0.0.0.0         255.255.255.255 UH    0      0        0 eth0

    四、配置文件解析

    配置文件目录:/etc/cni/net.d/10-calico.conflist 

  • 相关阅读:
    【bzoj2882】工艺 后缀自动机+STL-map
    【bzoj3884】上帝与集合的正确用法 扩展欧拉定理
    【bzoj1475】方格取数 网络流最小割
    【bzoj4825】[Hnoi2017]单旋 线段树+STL-set
    【bzoj4448】[Scoi2015]情报传递 主席树
    【bzoj1803】Spoj1487 Query on a tree III DFS序+主席树
    【bzoj2127】happiness 网络流最小割
    【bzoj2431】[HAOI2009]逆序对数列 dp
    【bzoj4245】[ONTAK2015]OR-XOR 贪心
    【bzoj4066】简单题 KD-tree
  • 原文地址:https://www.cnblogs.com/wuchangblog/p/14046332.html
Copyright © 2011-2022 走看看