zhendeaini123 发表于 2018-1-5 16:57:28

Magnum Kuernetes源码分析(一)

resources:  fixed_network:            //kubernetes集群的内网,所有创建出来的node,都会在该内网中
  type: OS::Neutron::Net
  properties:
  name: private
  fixed_subnet:             //kubernetes集群的内网子网,所有创建出来的node,都会分配该子网的ip地址
  type: OS::Neutron::Subnet
  properties:
  cidr: {get_param: fixed_network_cidr}
  network: {get_resource: fixed_network}
  dns_nameservers:
  - {get_param: dns_nameserver}
  extrouter:               //对外的外网路由
  type: OS::Neutron::Router
  properties:
  external_gateway_info:
  network: {get_param: external_network}
  extrouter_inside:      //内网路由,连接外网
  type: OS::Neutron::RouterInterface
  properties:
  router_id: {get_resource: extrouter}
  subnet: {get_resource: fixed_subnet}
  secgroup_base:            //基础安全组
  type: OS::Neutron::SecurityGroup
  properties:
  rules:
  - protocol: icmp
  - protocol: tcp
  port_range_min: 22
  port_range_max: 22
  secgroup_kube_master:   //供master使用的安全组
  type: OS::Neutron::SecurityGroup
  properties:
  rules:
  - protocol: tcp
  port_range_min: 7080
  port_range_max: 7080
  - protocol: tcp
  port_range_min: 8080
  port_range_max: 8080
  - protocol: tcp
  port_range_min: 2379
  port_range_max: 2379
  - protocol: tcp
  port_range_min: 2380
  port_range_max: 2380
  - protocol: tcp
  port_range_min: 6443
  port_range_max: 6443
  - protocol: tcp
  port_range_min: 30000
  port_range_max: 32767
  secgroup_kube_minion:   //供minion使用的安全组
  type: OS::Neutron::SecurityGroup
  properties:
  rules:
  - protocol: icmp
  - protocol: tcp
  - protocol: udp
  ######################################################################
  #
  # load balancers.
  #
  api_monitor:            //kube-api的负载均衡监控
  type: OS::Neutron::HealthMonitor
  properties:
  type: TCP
  delay: 5
  max_retries: 5
  timeout: 5
  api_pool:               //kube-api的负载均衡池
  type: OS::Neutron::Pool
  properties:
  protocol: {get_param: loadbalancing_protocol}
  monitors: [{get_resource: api_monitor}]
  subnet: {get_resource: fixed_subnet}
  lb_method: ROUND_ROBIN
  vip:
  protocol_port: {get_param: kubernetes_port}
  api_pool_floating:      //kube-api的浮动ip
  type: OS::Neutron::FloatingIP
  depends_on:
  - extrouter_inside
  properties:
  floating_network: {get_param: external_network}
  port_id: {get_attr: }
  etcd_monitor:             //etcd的负载均衡监控
  type: OS::Neutron::HealthMonitor
  properties:
  type: TCP
  delay: 5
  max_retries: 5
  timeout: 5
  etcd_pool:                //etcd的负载均衡池
  type: OS::Neutron::Pool
  properties:
  protocol: HTTP
  monitors: [{get_resource: etcd_monitor}]
  subnet: {get_resource: fixed_subnet}
  lb_method: ROUND_ROBIN
  vip:
  protocol_port: 2379
  ######################################################################
  #
  # kubernetes masters. This is a resource group that will create
  # <number_of_masters> masters.
  #
  kube_masters:             //master资源组
  type: OS::Heat::ResourceGroup
  depends_on:
  - extrouter_inside
  properties:
  count: {get_param: number_of_masters}   //创建的master数量
  resource_def:
  type: kubemaster.yaml   //创建master的模板
  properties:
  ...
  ######################################################################
  #
  # kubernetes minions. This is an resource group that will initially
  # create <number_of_minions> minions, and needs to be manually scaled.
  #
  kube_minions:             //minion资源组
  type: OS::Heat::ResourceGroup
  depends_on:
  - extrouter_inside
  - kube_masters
  properties:
  count: {get_param: number_of_minions}         //创建的minion数量
  removal_policies: [{resource_list: {get_param: minions_to_remove}}]
  resource_def:
  type: kubeminion.yaml         //创建minion的模板
  properties:
  ...
页: [1]
查看完整版本: Magnum Kuernetes源码分析(一)