返回顶部
首页 > 资讯 > 精选 >你的Helm安全吗?
  • 385
分享到

你的Helm安全吗?

2023-06-04 16:06:42 385人浏览 独家记忆
摘要

一、背景kubernetes是目前最为流行、成为事实标准的容器集群管理平台,为容器化应用提供了部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。在Kubernetes当中,用户通过使用api对象,如Pod、Service、Deploy

一、背景

kubernetes是目前最为流行、成为事实标准的容器集群管理平台,为容器化应用提供了部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。在Kubernetes当中,用户通过使用api对象,如Pod、Service、Deployment等,来描述应用的程序规则,而这些资源对象的定义一般需要写入一系列的YAML文件中,然后通过 Kubernetes 命令行工具Kubectl进行部署。由于通常应用程序都涉及到多个Kubernetes API对象,而要描述这些API对象就可能要同时维护多个YAML文件,从而在进行 Kubernetes 软件部署时,通常会面临下述几个问题:

·       如何管理、编辑和更新这些这些分散的 Kubernetes 应用配置文件

·       如何把一套相关的配置文件作为一个应用进行管理

·       如何分发和重用 Kubernetes 的应用配置

Helm (https://helm.sh)的出现就是为了很好地解决上面这些问题,是Kubernetes官方提供的包管理工具,主要是是通过管理被称作Helm Chart的包来描述和管理云服务的。使用 Helm后就不需要再编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。

在现在常用的Helm V2架构中,有一个称为“Tiller”的服务端组件。Tiller是一个集群内服务器,可与Helm客户端进行交互,并与Kubernetes API服务器连接。但由于Tiller具有root用户访问权限,使得有人可以未经授权访问Kubernetes服务器你,从而构成了很大的风险。

JFrog的专家,也是Helm的联合创始人,Rimas Mocevicius,提供了一种创新的、优雅的方法——Tillerless Helm,来解决这种情况,从而保护用户的Kubernetes集群。

二、Helm V2的应用架构

从Helm v2开始,Helm的架构中有一个名为The Tiller Server的服务器部分,该服务器部分是一个与helm客户端交互并与Kubernetes API服务器连接的集群内服务器。服务器负责以下各项工作:

·       监听来自Helm客户端的传入请求

·       结合Chart和配置以创建发布版本

·       将Chart安装到Kubernetes中,然后跟踪后续版本

·       通过与Kubernetes交互来升级和卸载Chart

简而言之,客户端负责管理Chart,Tiller负责管理发布版本,其架构如下图所示:

你的Helm安全吗?

默认情况下,执行如下命令将Tiller部署安装到Kubernetes集群:

helm init

同时还需要为Tiller创建并部署RBAC授权,使其拥有执行任务的权限。Tiller常用的RBAC授权如下所示:

你的Helm安全吗?

目前这样的架构工作得很好,为用户提供了灵活和方便,但同时也存在一些安全问题。从上面的RBAC文件中可以看出,Tiller被授予了cluster-admin的角色,也就是说,Tiller在用户的Kubernetes集群中具有完全的管理权限,这就具备了有人未经授权而访问和控制集群的风险。

三、Helm V2 中的Tillerless方案

其实,在Helm V2中创建Tillerless的架构也并不困难,能够为Helm的应用提供更高的安全保障。JFrog的专家Rimas给出了优化的解决方案,而本节将通过细节的描述来解释该方案如何运行。

首先,可以将Helm客户端和Tiller都部署在工作站上,或者运行在CI/CD流水线中,而不需要将Tiller安装到Kubernetes集群之中。示例的安装方式如下:

你的Helm安全吗?

在这种安装方式下,Helm的运行架构如下图所示:

你的Helm安全吗?

在这种架构下,Tiller使用和Helm客户端一样的配置(kubeconfig)连接到Kubernetes集群,并按照指定的命名空间(namespace)存储和管理Helm的发行版本信息。用户可以通过这种方式创建许多名称空间,并在Tiller启动时指定应该使用哪个命名空间。用户定义的RBAC规则可以存储在运行指定的名称空间中的密钥/配置映射中,而不再需要为Tiller创建和指定ServiceAccount。而这个架构的另一个好处就是不再限定Kubernetes集群中只能运行一个Tiller实例。

注意,在这种架构下,必须使用如下的命令来初始化Helm客户端,否则Tiller仍然被安装到Kubernetes集群中:

helm init --client-only

四、Helm V2中的Tillerless插件

那么,有没有更加方便的安装方式呢?Rimas为大家提供了一个简单的Helm Tillerless插件,请参见Https://GitHub.com/rimusz/helm-tiller。

插件的安装非常方便,如下:

你的Helm安全吗?

该插件提供了四个简单的命令:start,start-ci,stop和run。


4.1 在本地使用Tillerless插件

对于在本地开发或访问远程Kubernetes集群时,请使用helm tiller start命令:

你的Helm安全吗?

该命令将在本地启动Tiller,并利用Tiller默认的设置,在kube-system名称空间存储和管理Helm版本。

也可以通过下述命令指定Tiller使用的命名空间:

你的Helm安全吗?

该命令还会打开一个新bash shell,带有预设的环境变量:

HELM_HOST=localhost:44134

这样,Helm客户端就知道如何连接Tiller了。

现在,就可以开始部署或更新Helm的发布版本了。

当完成了所有工作之后,只需要运行下述命令,就可以关闭Tiller了。

你的Helm安全吗?

接下来,用户也可以重复上面的过程,通过指定新的命名空间来部署和更新其他团队的发布版本。

4.2 在CI/CD流水线中使用Tillerless插件

那如何在CI/CD流水线当中使用该插件呢?有两种方法:

第一种与上面的过程非常相似,只是没有启动带有预设变量的bash shell。

你的Helm安全吗?

然后,Helm客户端将知道连接到Tiller的位置,而无需在CI流水线中进行任何更改。并且在流水线的结尾执行:

你的Helm安全吗?

结束全部工作。

第二种也很容易,就是运行helm tiller run,可以使Tiller在指定命令之前或之后启动/停止:

你的Helm安全吗?

举例来看:

你的Helm安全吗?

附加功能:该插件还能够检查安装的Helm客户端和Tiller的版本,如果不匹配,则下载正确的Tiller版本文件。

五、总结

Helm作为Kubenetes的官方包管理工具,为用户提供了方便、快捷的在Kubernetes集群里部署和管理自己应用程序的方式。然而,Helm V2架构中的Tiller组件,在提供了操作便利的同时,也带来了安全上的隐患。

本文为大家介绍了一种在Helm V2中实现Tillerless的Helm部署和应用的解决方案,在保留了Helm V2灵活性和便利性的同时,也大大提升了应用和管理的安全性。

--结束END--

本文标题: 你的Helm安全吗?

本文链接: https://lsjlt.com/news/238444.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 你的Helm安全吗?
    一、背景Kubernetes是目前最为流行、成为事实标准的容器集群管理平台,为容器化应用提供了部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。在Kubernetes当中,用户通过使用API对象,如Pod、Service、Deploy...
    99+
    2023-06-04
  • 服务器安全补丁:你的网站安全吗?
    服务器安全补丁对于保护网站免受恶意软件攻击至关重要。黑客经常利用软件漏洞来传播恶意软件,而服务器安全补丁可以帮助修补这些漏洞,从而阻止黑客的攻击。因此,网站管理员应定期检查并安装服务器安全补丁,以确保网站安全。 如何确保服务器安全? 使...
    99+
    2024-02-27
    服务器安全补丁、网站安全、恶意软件、黑客攻击、安全漏洞、补丁更新
  • 年底了,你的mysql密码安全吗
    前言:  年底了,你的数据库是不是该巡检了?一般巡检都会关心密码安全问题,比如密码复杂度设置,是否有定期修改等。特别是进行等保评测时,评测机构会要求具备密码安全策略。其实 MySQL 系统本身可以设置密码复...
    99+
    2022-05-13
    mysql 密码 mysql 安全
  • helm安装prometheus的步骤是什么
    安装Prometheus可以通过Helm进行部署,以下是使用Helm安装Prometheus的步骤: 添加Helm仓库:首先需要添...
    99+
    2024-03-15
    prometheus helm
  • ConcurrentHashMap是如何实现线程安全的你知道吗
    目录1. 前言2. ConcurrentHashMap 是如何实现线程安全的2.1. 初始化数据结构时的线程安全2.2. put 操作时的线程安全2.3. get 操作时的线程安全2...
    99+
    2022-11-13
    ConcurrentHashMap 线程安全 ConcurrentHashMap线程安全
  • HTTPS是安全的吗
    这篇文章主要介绍“HTTPS是安全的吗”,在日常操作中,相信很多人在HTTPS是安全的吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTTPS是安全的吗”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!「一...
    99+
    2023-06-19
  • github安全吗
    随着互联网的不断发展,开源代码托管平台已经成为了开发人员的必备工具。其中,GitHub作为全球最大的开源代码托管平台,其安全问题也备受关注。那么,GitHub是否安全呢?首先,我们需要了解GitHub的基本构成和安全措施。GitHub是由G...
    99+
    2023-10-22
  • golang安全吗
    近年来,golang作为一种新兴的编程语言在软件开发领域中越来越受欢迎。与其他语言相比,它具有高效、简洁、并发性好等优势。然而,在使用golang开发应用程序时,我们不可忽略其安全性问题。有人认为golang是安全的,而有些人认为它并不安全...
    99+
    2023-05-21
  • 华为云服务器安全吗可靠吗安全吗
    华为云服务器提供了一个可靠和安全的云基础设施平台,因此可以提供高质量的服务和可靠的数据管理。 在华为云服务器的使用中,数据存储在公有云平台上,用户的私人数据只能在合法的授权下访问。因此,华为云服务器是一个高度安全的环境,可以为用户提供高质...
    99+
    2023-10-26
    华为 可靠 服务器
  • 租用云服务器安全吗可靠吗安全吗
    租用云服务器是一种常见的租赁服务,它可以提供高可靠性和安全性,但也存在一些缺点和风险。 首先,租用云服务器时需要确保所有资源都处于受监控的状态,这可能会限制服务的可靠性和性能。如果资源不可用或发生故障,将导致数据丢失、服务停止或其他不利影...
    99+
    2023-10-26
    可靠 服务器
  • 阿里云服务器安全吗?帮你安装并解析
    随着云计算的发展,越来越多的企业和个人选择使用阿里云服务器。然而,随之而来的是关于阿里云服务器安全性的疑虑。本文将详细介绍阿里云服务器的安全性,并为你提供安装服务。 阿里云服务器是阿里云推出的一种云服务,它为用户提供了一种灵活、便捷、安全的...
    99+
    2023-11-23
    帮你 阿里 服务器
  • 阿里云服务器好用吗安全吗可靠吗安全吗
    阿里云是中国领先的云计算和人工智能服务提供商,提供云服务器、云存储、数据库和人工智能等云计算服务,安全性和可靠性方面具有优势,同时提供多种语言版本的支持,方便全球各地的用户使用和访问。 阿里云服务器的价格比较便宜,而且具有高速的网络连接和...
    99+
    2023-10-27
    阿里 好用 可靠
  • 自己买云服务器安全吗可靠吗安全吗
    买云服务器时,您应该了解一些重要的信息,以确保您的数据安全。 首先,云服务器由多家公司提供,其中可能有一些是由第三方供应商运营的,因此在购买之前,您应该对该公司的情况进行调查。您可以查看该公司的官方网站或通过电话询问该公司的技术支持人员,...
    99+
    2023-10-26
    可靠 服务器
  • PHP中的session安全吗?
    如果不做特殊处理,仅是使用PHP中原生的session的话,确实不安全。PHP只是为我们提供了一个session的实现,后续的安全工作需要程序员自己灵活去掌握,所以说PHP编程真的很灵活。 做PHP...
    99+
    2024-02-27
  • 你知道吗?Python 响应 Django 教程可以让你的网站更加安全!
    随着互联网技术的不断发展,越来越多的网站开始使用Python语言和Django框架来开发网站。Python和Django具有简单易学、高效稳定等优点,而且可以帮助开发者更快地构建安全可靠的网站。在本文中,我们将介绍如何使用Python和D...
    99+
    2023-11-15
    响应 django 教程
  • 阿里云服务器用途大吗安全吗可靠吗安全吗?
    阿里云服务器是一款云服务器产品,它具有以下几个特点: 高可用性:阿里云服务器支持多用户、多节点部署,支持容灾和备份,可以提供高可用性和可靠性,避免单点故障和数据丢失。 高性能:阿里云服务器采用多核异构架设计,能够提供强大的计算能力和性能...
    99+
    2023-10-26
    阿里 用途 可靠
  • 微软云服务器在国内吗安全吗可靠吗安全吗
    在国内,微软云服务器有许多可用的服务器和数据中心,这些地方都提供了安全的基础设施,为用户提供了高质量的服务。同时,微软云服务器也拥有丰富的产品线,包括了微软云服务器、Azure云计算服务、Windows Server R2、Office 3...
    99+
    2023-10-27
    微软 可靠 在国内
  • 云服务器可开淘宝店吗安全吗可靠吗安全吗
    首先,云服务器可能会受到黑客的攻击。黑客可能会通过恶意软件等手段来攻击云服务器,导致数据泄露或者服务瘫痪等问题。因此,在使用云服务器时,需要加强安全措施,例如设置访问控制策略、安装杀毒软件等。 其次,云服务器也可能会遭受网络攻击。网络攻击...
    99+
    2023-10-28
    淘宝 可靠 服务器
  • 阿里云服务器在国外吗安全吗可靠吗安全吗
    首先,从阿里云服务器的硬件设施方面来看,其具有较高的安全性能。阿里云服务器采用了多重安全防护措施,包括数据加密、防火墙、入侵检测、漏洞扫描等。同时,阿里云服务器还采用了多重备份措施,确保用户数据的安全。此外,阿里云还采用了SSL协议加密用户...
    99+
    2023-10-28
    阿里 在国外 可靠
  • 阿里云服务器在贵州吗安全吗可靠吗安全吗
    阿里云服务器在贵州,具体情况可能因地区而异,但一般来说,阿里云服务器的安全性可以得到保障。以下是一些您可能会遇到的问题和可能存在的风险: 数据丢失或泄漏:如果您将数据存储在云服务器上,那么云服务器上的数据通常是加密的,以确保无法通过未经...
    99+
    2023-10-27
    阿里 贵州 可靠
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作