构建企业级Kubernetes平台,你需要的工具都在这里!
admin
2023-03-31 11:41:03
0

Kubernetes已经成为业界公认的容器编排事实标准,它几乎无所不在。现在已经很难遇到一个从未了解Kubernetes这一技术的IT从业者。软件开发、测试以及基础设施都在其“业务范围”内。

 

在创建一个生产就绪的Kubernetes平台之前,你需要准备好将应用程序从传统环境中迁移出来,而这绝不是一项简单的任务。你需要一个etcd数据库、kube-controller、kube-scheduler、证书、core-DNS等。它还要投入资源和时间来调研以确定合适的组件组合以及可靠、自适应的测试方法以便在交换或增强组件时可以快速更改。

 

除了创建环境和管理流程之外,公司战略战术的规划也格外重要。很少有公司仅仅为了满足基础设施的需求而开始采用容器。你的容器环境设计和技术栈更可能需要支持新旧计算形态,同时要避免重复使用资产、资源和费用。(技术栈和设计的功能示例如下图)
 
构建企业级Kubernetes平台,你需要的工具都在这里!

图1 搭建容器技术栈
 
构建企业级Kubernetes平台,你需要的工具都在这里!

图2 容器环境设计

 

管理和自动化

 

Rancher是一个开源的企业级Kubernetes管理平台,为企业用户提供Kubernetes-as-a-Service (Kubernetes即服务),它简洁直观的界面风格及操作体验,极大程度解决了业界遗留已久的Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题。通过使用Rancher,你可以远离手动创建Kubernetes集群的痛苦并且可以一键自动设置集群。它还提供一套K8s集群所需的功能集,包括配置、访问控制、全局DNS、灾备和恢复、监控、日志以及集群升级。使用Ansible将可以为K8s节点配置 CentOS VMs。
 

日志和监控

 

Rancher具有内置的FluentD部署,可用于构建EFK堆栈。可以将每个集群配置为把FluentD日志推送到Elasticsearch实例。

 

Kibana是一个开源的可视化平台,可以极为方便地查看和搜索Elasticsearch日志。

 
Elasticsearch Github repo:

https://github.com/helm/charts/tree/master/stable/elasticsearch

 

Prometheus是一个收集监控指标的优质方案,Prometheus server可用于存储时间序列数据,alert-manager可用于管理告警,node-exporter可从节点导出指标,Kube-state-metrics可以为所有k8s对象生成指标。
 

Prometheus Github repo:

https://github.com/helm/charts/tree/master/stable/prometheus

 

然而,Prometheus缺少用户界面,因此需要Grafana,这是一个数据可视化工具。它能够连接到Prometheus server,提供监控用的图表和dashboard。
 

Grafana Github repo:

https://github.com/helm/charts/tree/master/stable/grafana
 

管理和自动化

 

Rancher是一个开源的企业级Kubernetes管理平台,为企业用户提供Kubernetes-as-a-Service (Kubernetes即服务),它简洁直观的界面风格及操作体验,极大程度解决了业界遗留已久的Kubernetes原生UI易用性不佳以及学习曲线陡峭的问题。通过使用Rancher,你可以远离手动创建Kubernetes集群的痛苦并且可以一键自动设置集群。它还提供一套K8s集群所需的功能集,包括配置、访问控制、全局DNS、灾备和恢复、监控、日志以及集群升级。使用Ansible将可以为K8s节点配置 CentOS VMs。
 

日志和监控

 

Rancher具有内置的FluentD部署,可用于构建EFK堆栈。可以将每个集群配置为把FluentD日志推送到Elasticsearch实例。

 

Kibana是一个开源的可视化平台,可以极为方便地查看和搜索Elasticsearch日志。
 

Elasticsearch Github repo:

https://github.com/helm/charts/tree/master/stable/elasticsearch

 

Prometheus是一个收集监控指标的优质方案,Prometheus server可用于存储时间序列数据,alert-manager可用于管理告警,node-exporter可从节点导出指标,Kube-state-metrics可以为所有k8s对象生成指标。

 

Prometheus Github repo:

https://github.com/helm/charts/tree/master/stable/prometheus

 
然而,Prometheus缺少用户界面,因此需要Grafana,这是一个数据可视化工具。它能够连接到Prometheus server,提供监控用的图表和dashboard。

 

Grafana Github repo:

https://github.com/helm/charts/tree/master/stable/grafana
 

持久化存储

 

在Kubernetes里的一切都是动态的和无状态的,这违背了传统存储方案的原则。因此,选择一个可行的持久化存储方案是你将面临的其中一个难题。市场上有许多流行的解决方案,如Ceph、Rook、StarageIO以及Portworx。

 

其中,Portworx具有数据移动性、高可用性、独立性、持久卷的动态加密配置。在worker节点上,我们建议anotherdisk(vmdk)通过Portworx创建存储池。Portworx配备了名为stork的智能调度程序,可以通过仅在几个工作节点上安装Portworx来节省许可成本。

 

你可以使用这个helm chart部署Portworx:

https://github.com/portworx/helm/tree/master/charts/portworx
 

容器安全

 

容器安全在一直不断发展,由于pod的动态特性,让容器内发生的所有进程和通信具有可见性和可控制变得至关重要。Neuvector可以提供主机和pod的连续运行时保护,它可以通过扫描Kubernetes集群、节点、pod以及容器镜像来保护容器不受安全漏洞的影响。此外,还有一个附带的优势是能够为集群提供docker和kubernetes基准。它还能通过学习pod/service的良好行为来成为网络防火墙,并且基于此动态创建安全策略。当service在“保护模式”中时,它能够防止任何未经授权的进程或网络通信为该pod或服务运行。

 

你可使用这个helm chart 部署 Neuvector:

https://github.com/neuvector/neuvector-helm
 

负载均衡

 

一旦应用程序部署在K8S集群中后,有几个选项可以将它们暴露到集群外部。另一个需要考虑的因素是,如果你是将应用程序从传统基础架构迁移到容器中来,并且希望保留回滚的状态或想要在传统环境中保留现在已经迁移到K8S集群中的服务。

 

AVI Networks可以提供软件定义的负载均衡器,它有一个控制平面和一个服务平面。这一负载均衡器提供负载均衡、流量管理、弹性伸缩以及端到端的自动化K8S服务。AVI在K8S云上将服务引擎部署为PODS,它可以处理南北流量(即客户端和服务器之间的流量),以及K8S服务的负载均衡。

 
每次在K8S云中创建ingress时,AVI都配置了DNS服务器和IPAM池,可以自动创建虚拟服务。它将从IPAM分配一个IP,创建一个DNS入口并且配置后端的pod池。AVI同时能够通过ingress的注释添加各种HTTP策略以及网络安全策略的功能。
 

CI/CD工具

 

由于所有东西及其依赖项都被打包到容器中,因此Kubernetes可以使得持续部署成为现实,它还能从特定的工作节点中调度工作负载。而滚动更新策略可以零停机执行持续部署。

 

Jenkins是一个十分出色的持续集成和镜像构建的工具,它提供与Gitlab、Nexus、JFrog artifactory、SonarQube、Neuvector、Fority、Helm和Rancher进行进行集成,以构成一个完整的CI/CD 流水线。

 

Helm打包整个应用程序栈到chart中,包括应用程序所需的pod、服务、secert、ingress、持久化存储等。Helm还能在跨不同环境的情况下保持部署一致。(如下图)
 
构建企业级Kubernetes平台,你需要的工具都在这里!

图3 容器组件
 

总而言之,现在有很多方法可以帮助构建Kubernetes平台,将应用程序部署在K8S集群中变得比以往任何时候都更容易。我希望这能让你更好地了解需要关注的领域以及知道哪些工具或平台能够让K8S集群在企业中成为现实。

相关内容

热门资讯

【第一财经】“数独大赛辅助器?... 【第一财经】“数独大赛辅助器?”(确实真的有挂)您好,数独大赛这个游戏其实有挂的,确实是有挂的,需要...
今日重大发现“菠萝竞技怎么装挂... 您好:菠萝竞技这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游戏...
玩家攻略科普“兴动棋牌怎么开挂... 家人们!今天小编来为大家解答兴动棋牌透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买很...
【第一资讯】“红豆牛牛是不是有... 您好:红豆牛牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
今日重大发现“开心泉州麻将到底... 家人们!今天小编来为大家解答开心泉州麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里...
【第一资讯】“家家乐牌吧究竟有... 家人们!今天小编来为大家解答家家乐牌吧透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
玩家攻略科普“掌酷十三张开挂器... 网上科普关于“掌酷十三张有没有挂”话题很是火热,小编也是针对掌酷十三张作*弊开挂的方法以及开挂对应的...
泽连斯基:我想跟特朗普谈5个问... 【环球网报道 记者 闫珮云】据《乌克兰真理报》27日报道,乌克兰总统泽连斯基对记者表示,计划在12月...
今日重大消息“极速官方游戏辅助... 您好:极速官方游戏这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
今日重大通报“天天微友棋牌开挂... 有 亲,根据资深记者爆料天天微友棋牌是可以开挂的,确实有挂(咨询软件无需...