首页  ·  知识 ·  云计算
精选Kubernetes常见开发和运维工具
王延飞  K8S中文社区  综合  编辑:irelandcoffee   图片来源:网络
Kubernetes在行业中很受欢迎,作为一项成熟的技术,正在被全球各地的组织越来越多地用于面向容器的微服务的开发。由于,Kubernetes能够满足应用程序多样化的要求,因此它已是常用的容器编排框架

Kubernetes中优秀的部署工具:

1.Helm:

Helm 是一个 Kubernetes 应用的包管理工具,用来管理 chart(预先配置好的安装包资源),有点类似于 Ubuntu 的 APT 和 CentOS 中的 YUM。2019 年 11 月 13 日,Helm 3 发布。Helm chart 是用来封装 Kubernetes 原生应用程序的 YAML 文件,可以在你部署应用的时候自定义应用程序的一些 metadata,便与应用程序的分发。我们可以在 Helm chart 中的 templates 目录添加 Kubernetes 对象的配置 ,并且可以多次重复使用以进行部署。

2.Apollo:

Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用在不同环境、不同集群的配置,做到配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。

Apollo提供了一个Kubernetes Control UI, 可以用于创建和部署 Kubernetes 服务。Apollo 允许管理员单击一下即可查看日志并将部署恢复到任何时间点。Apollo 具有灵活的部署权限模型,每个用户可以只部署自己需要的内容。

3. Kubespray:

Kubespray 为 Kubernetes 部署和配置提供一组 Ansible 角色 ,是一个通过Ansible角色工作的Kubernetes管理工具,支持AWS,Google Cloud Environment,Azure和OpenStack。Kubespray使那些熟悉Ansible的人受益,使得通过一个工具即可进行容器配置和编排 。Kubespray还支持连续集成测试。

Kubernetes中优秀的CLI工具

1. Kubectl:

Kubectl是默认的Kubernetes CLI工具,支持所有基于Kubernetes的操作,默认通过在$HOME目录中的配置文件检测到节点。Kubectl也接受其他kubeconfig文件,通过使用–kubeconfig标志来指定其他配置文件。

Docker用户可以使用kubectl与API服务器通信。Kubectl命令类似于Docker命令,只是有一些小变化。

2. Kubectx:

Kubectx 是一个小型开源实用工具,可以增强 Kubectl 功能,轻松切换上下文并同时连接到几个Kubernetes 集群。

kubectx的主要优点之一是能够伪装集群名称。通过此功能,可以使用kubectx [disguise] 命令进行上下文切换。kubectx知道之前的上下文,使用kubectx-.命令可以后退(注意:kubectx在Windows上不可用)。

3. Kube-shell:

Kube-shell基于kubectl之上,可用于补充kubectl, 它可以通过命令自动完成部分工作。此外,Kube-shell 将提供有关已执行命令的在线文档。Kube-shell 甚至可以在错误输入时搜索和更正命令,是提高 K8s 控制台性能和工作效率的绝佳工具。

Kubernetes中优秀的CI/CD工具

1.支持Kubernetes的CI工具:

CI工具已经存在了很长一段时间,并可以结合代码测试,如果测试通过,则可以创建Docker镜像并将其提交到代码库。

现在,随着Kubernetes成为云原生应用程序开发过程中公认的一部分,CI工具得到了进一步发展,其中一些工具增加了集群可部署性。

CI工具:

  • Jenkins

  • Travis

  • Circle CI

  • Gitlab

2.支持Kubernetes的CD工具:

CD工具只做一件事,持续交付给Kubernetes。在你选择完所需的CI流水线和镜像仓库后,其余的CD部分就可以交给这些工具来处理。

CD工具:

  • Weave Cloud

  • Shippable

  • Codefresh

  • harness

其中,只有Weave Cloud能够以安全的方式管理集群凭据,并将凭据保存在它们所属的集群中,否则,它们可能会暴露出来,未经授权的用户也能够访问集群。

Kubernetes中优秀的安全工具

容器的安全要求很特殊,它们必须保护更多的层。这些涉及容器运行时,容器编排和程序的镜像。以下是一些优秀的Kubernetes安全工具:

1. Twistlock:

Twistlock是具有完整生命周期的容器保护解决方案,可用作云原生应用程序防火墙,并能够分析容器和服务之间的网络流量。Twistlock 能够分析标准容器行为并据此生成适当规则,管理员不必手动生成。Twistlock 还支持 2.2 版本的 Kubernetes CIS 基准测试。Twistlock具有一个VMS,该VMS通过不断扫描Kubernetes来检查是否存在任何漏洞。

综上来说,Twistlock主要专注于容器保护的两个关键方面。首先,它会持续扫描容器镜像,查看是否有新的数据威胁。接下来,它会重点介绍容器的运行状况。

2. Aqua

Aqua提供了从开发到产品的安全性,从而提供了端到端可见性并保护了应用程序免受攻击。Aqua会扫描多个安全问题,例如已确定的风险,隐藏的代码风险和恶意软件。Aqua还有一个主要功能是能够保护和隔离多租户环境。

3. Falco

Falco 是一种行为活动监视器,旨在检测应用程序异常。Falco 基于 Sysdig 项目,这是一个开源工具(现在是商业项目),通过跟踪内核系统调用来监控容器性能。Falco 允许使用一组规则持续监视和检测多个容器层,以包括容器,程序,主机和网络本身。


本文作者:王延飞 来源:K8S中文社区
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读