写点什么

构建企业级 Kubernetes 平台,你需要的工具都在这里!

  • 2020-05-18
  • 本文字数:2270 字

    阅读完需:约 7 分钟

构建企业级Kubernetes平台,你需要的工具都在这里!

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


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


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



图 1 搭建容器技术栈



图 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

持久化存储

在 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 还能在跨不同环境的情况下保持部署一致。(如下图)



图 3 容器组件


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


2020-05-18 18:001261

评论 2 条评论

发布
用户头像
Rancher 这个必须要赞一下,非常适合用来给晦涩的 kubernetes 套上一层简洁的 UI,使用方便、易于维护、而且最关键的如果你习惯使用 kubectl 依然可以继续使用。在简单和灵活之间找到了平衡点。百分之百开源,避免了技术被锁定。强烈推荐给企业上云的研发以及运维人员。
2022-03-28 10:09
回复
用户头像
Rancher
2022-03-28 10:06
回复
没有更多了
发现更多内容

Future3 Campus访谈丨资本是如何看待AI+Web3的?

Footprint Analytics

AI web3

领先实践之鑫阳钢铁∣短流程钢铁企业废钢智能判级的行业标杆

用友BIP

废钢智能判级

CurveFS 助力网易云商,解决语音识别训练数据增长需求

OpenCurve

云计算 开源 文件存储 分布式文件存储 海量数据

Mac电脑强大的文件夹快速访问工具:Default Folder X 最新激活

胖墩儿不胖y

Mac软件 文件访问工具 文件夹管理软件

探秘 Spring Boot Async:解析原理与实践详解

Apifox

性能优化 Spring Boot 后端 多线程 Async

工业数据存储的“四道难关”,国产数据库如何应势破局?

用友BIP

五金家具行业MES解决方案

万界星空科技

mes 制造业生产管理系统 万界星空科技mes 家居设计工具 家具生产管理系统

医院检验科LIS系统源码,oracle数据库、报告管理、质控管理

源码星辰

Amazon S3 Glacier 将检索大量存档数据时的还原吞吐量提升高达 10 倍

亚马逊云科技 (Amazon Web Services)

S3 API 云存储服务 Amazon S3 Glacier

万界星空科技MES系统中的生产管理流程

万界星空科技

生产管理系统 mes 制造业生产管理系统 云mes 万界星空科技mes

实战干货!基于ERNIE Bot SDK的数字诗人聊天开发教程

飞桨PaddlePaddle

人工智能 数字人 技术干货 文心一言

为什么6层板最好设计2个接地层?

华秋电子

通过线上巡检,保障生产环境质量

老张

软件测试 质量保障

3D LED广告牌市场潜力待挖掘

Dylan

视频 图片 文字 LED LED显示屏

为什么要对数据库优化

小魏写代码

语言模型:GPT与HuggingFace的应用

华为云开发者联盟

人工智能 华为云 GPT 华为云开发者联盟

在线教育小程序如何一键生成App

Onegun

在线教育 小程序转app

文心ERNIE Bot SDK+LangChain:基于文档、网页的个性化问答系统

飞桨PaddlePaddle

人工智能 开发者 开发工具

中山大学数学学院 x 赛博威 | 共同成立人工智能算法产学研合作基地

赛博威科技

人工智能 赛博威 中山大学 人工智能算法

Mac电脑多平台数据同步推荐:SyncMate最新激活版

mac大玩家j

同步工具 Mac软件推荐 同步软件

强强联合!航天科技AIRIOT助力航天电工打造智慧工厂

AIRIOT

IOT Platform 智慧工厂

Linus:我休假的时候也会带着电脑,否则会感觉很无聊

极狐GitLab

Linux 开源 AI DevOps gitlab

文心一言 VS 讯飞星火 VS chatgpt (152)-- 算法导论12.2 8题

福大大架构师每日一题

福大大架构师每日一题

18 | 散列表(上):Word文档中的单词拼写检查功能是如何实现的

鲁米

推荐5款很牛的Paas平台编译构建工具

伤感汤姆布利柏

详细了解大数据离在线混部架构模型

丁点大数据

大数据 Kubernetes 云原生大数据 离在线混部 大数据离在线混部

使用 Kubernetes 为 CI/CD 流水线打造高效可靠的临时环境

SEAL安全

Kubernetes CI/CD 临时环境

ACPM高效C++组件管理让音视频终端SDK性能更好、稳定性更高

阿里云CloudImagine

云计算 视频云

构建企业级Kubernetes平台,你需要的工具都在这里!_文化 & 方法_Rancher_InfoQ精选文章