Kubernetes部署

社区部署文档

https://kubernetes.io/docs/setup/
提供了详细的说明,可以根据不同场景选择不同的部署方案

社区提供的的部署
名称特点
minikube适合新手入门,启动虚拟机allinone运行kubernetes,灵活性低
kubeadmGo语言,提供Kubernetes的安装,扩展,升级,适合于开发者
kops生产级别的Kubernetes部署,aws场景下适用的较多
kubesprayAnsible脚本,适合于虚拟机,物理机等场景下部署kubernetes,比较通用
custom solutionrpm包安装,可以深刻的理解kubernetes

Github上还有很多关于kubernetes部署的项目,可以根据实际的需求选用,对于开发者比较推荐kubeadm或者自己通过bin来安装,对于实际生产环境比较推荐kubespary.

自己动手安装kubernetes集群的过程
这里写图片描述

对于实际生产环境下,如何构建一个高可用的集群,能够支持一定的规模,在部署这个层面需要考虑的问题

大规模部署的时候需要考虑的问题

1.需要明确的是当前社区kubernetes1.8版本支持的最大规格
<=5000nodes <=150000 pods <=300000 containers <=100pods/node

2.etcd分库,将events存储在单独的etcd实例(直接通过api-server进行配置)
3.Kubernetes集群中work node的数量增加时候,master node的规格(系统cpu/memory的配置)相应的增加
4.对于kubernetes集群中addon的组件(log/monitor/kube-dns),需要根据集群的node的规模来调整pod对于资源request/limit的设置或者通过增加副本数,可以参看kube-dns[https://kubernetes.io/docs/tasks/administer-cluster/dns-horizontal-autoscaling/]
5.Kubrentes集群中集成日志/监控等组件

Notice:对于需要多个故障域的场景下,可以使用kubrentes中的多联邦来支持,后面的章节重点进行实践,实际的部署场景下,根据业务的划分支持多个kubernetes集群,在物理层面上做到更好的隔离

高可用集群

1.组件具有自启动的功能,node重启或者组件重启之后能够有机制保证自动的拉起.
2.Etcd采用多副本,采用集群模式,保证etcd的持久化数据是可靠的.
3.Api-server多实例,api-server前面通过配置load balancing. Load balancing可以采用haproxy+keeyalived或者采用nginx-proxy,如果kubernetes集群运行在iass的云上,可以采用云环境自带的loadbalance.

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值