码迷,mamicode.com
首页 > Web开发 > 详细

DevOps云原生应用:在centos上部署kubernetes集群(1)

时间:2019-07-01 14:34:07      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:组件   apr   live   进制   节点   透明代理   原理   创建   harbor   

本系列文档介绍使用二进制部署最新 kubernetes v1.14.2 集群的所有步骤,而不是使用 kubeadm 等自动化方式来部署集群。本文档主要适合于那些有一定 kubernetes 基础,想通过一步步部署的方式来学习和了解系统配置、运行原理的人。

环境信息

  • OS 系统: Centos7.6 ( core )

  • kubernetes版本:v1.14.2

  • ETCD数据库:v3.3.13

  • Network插件:Flanneld 0.11.0

  • Docker 版本: 18.09.6-ce

  • K8s插件:CoreDns,Heapster,Influxdb,Grafana,Dashboard,Efk,Metrics-server

  • Docker仓库:Harbor

架构概览:


其中master节点中kube-apiserverjiy基于hapr

组件访问策略

kube-apiserver:

  • 基于Keepalived+ Haproxy 四层透明代理实现高可用;

  • 开启非安全端口 8080 和关闭匿名访问,基于token访问;

  • 在安全端口 6443 接收 https 请求;

  • 严格的认证和授权策略 (x509、token、RBAC);

  • 开启 bootstrap token 认证,支持 kubelet TLS bootstrapping;

  • 使用 https 访问 kubelet、etcd,加密通信;

kube-controller-manager:

  • 3 节点高可用;

  • 开启安全端口,在安全端口 10252 接收 https 请求;

  • 使用 kubeconfig 访问 apiserver 的安全端口;

  • 自动 approve kubelet 证书签名请求 (CSR),证书过期后自动轮转;

  • 各 controller 使用自己的 ServiceAccount 访问 apiserver;

kube-scheduler:

  • 3 节点高可用;
  • 使用 kubeconfig 访问 apiserver 的安全端口;

kubelet:

  • 使用 kubeadm 动态创建 bootstrap token,而不是在 apiserver 中静态配置;
  • 使用 TLS bootstrap 机制自动生成 client 和 server 证书,过期后自动轮转;
  • 在 KubeletConfiguration 类型的 JSON 文件配置主要参数;
  • 关闭只读端口,在安全端口 10250 接收 https 请求,对请求进行认证和授权,拒绝匿名访问和非授权访问;
  • 使用 kubeconfig 访问 apiserver 的安全端口;

kube-proxy:

  • 使用 kubeconfig 访问 apiserver 的安全端口;
  • 在 KubeProxyConfiguration 类型的 JSON 文件配置主要参数;
  • 使用 ipvs 代理模式;

DevOps云原生应用:在centos上部署kubernetes集群(1)

标签:组件   apr   live   进制   节点   透明代理   原理   创建   harbor   

原文地址:https://blog.51cto.com/blief/2415729

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!