首页
学习
活动
专区
圈层
工具
发布

每个人都必须遵循的九项Kubernetes安全最佳实践

通常应避免使用集群范围的权限,而使用特定于命名空间的权限。避免给予任何集群管理员权限,即使是为了调试,仅在需要的情况下,根据具体情况授予访问权限会更安全。...你可以使用节点池(在云或本地)和Kubernetes命名空间、污点(taint)、容差和其他控件来实现隔离。 ? 5....GKE的元数据隐藏功能会更改集群部署机制以避免此暴露,我们建议使用它直到有永久解决方案。在其他环境中可能需要类似的对策。 6. 创建和定义集群网络策略 网络策略允许你控制进出容器化应用程序的网络访问。...考虑除了可信网络以外限制对Kubernetes API服务器的访问。恶意用户滥用对这些端口的访问权限,在未配置为需要在kubelet API服务器上进行身份验证和授权的集群中运行加密货币挖掘。...限制对Kubernetes节点的管理访问。通常应限制对集群中节点的访问。调试和其他任务通常可以在不直接访问节点的情况下处理。 9.

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kubernetes 1.7 发布,安全强化、StatefulSet 更新及可扩展特性

    它们是在1.7中以Beta版新添加的特性,用于限制kubelet访问那些控制Secret、Pod和其它基于节点对象的Kubernetes API操作;用于Secret的加密和其它存储在etcd的资源,当前以...Alpha版提供可用;Kubelet TLS Bootstrapping,当前以Alpha版提供,支持客户和服务证书旋转(Rotation);由API服务器存储的审计日志,现在更改为可定制的和可扩展。...该特性用于确保给定的Pod对每个节点准确地执行和运行一次,现已添加了rollback和history功能;新提供的StorageOS Volume插件,它可在本地的或附加的节点存储上提供在整个集群范围内高可用的持久卷...(https://cloud.google.com/container-engine/docs/ip-masquerade-agent)(RFC-1918),使用户可以在私有IP范围内创建集群并访问资源...V**访问内部负载均衡的功能依然处于Alpha版);GKE现在支持在Alpha Clusters中运行NVIDIA K80 GPUs,该特性使得用户可以实验机器学习算法;自动修复,当前是Beta版。

    1.3K20

    多云自动伸缩统一控制——深入对比分析

    这些标准机制遵循统一 API,可运行在任意 Kubernetes 集群中,是跨云一致的伸缩逻辑层。 它们通常被云厂商内嵌或封装为托管版服务的基础模块。...Google Cloud(GKE):提供 GKE Cluster Autoscaler,与 Managed Instance Group(MIG)紧密集成, 支持节点池优先级、预热策略与工作负载亲和扩展...CA 或 Karpenter 与各云 API 的耦合与实现细节。...”增强 CA 普遍;AWS 另有 Karpenter(成熟) 伸缩加速能力 ACK 节点即时伸缩/Swift;TKE placeholder 秒级缓冲 EKS Karpenter + Spot 供给/并池化选择...;GKE/AKS 有成熟 CA 文档与最佳实践 统一控制 各家多集群管控(同云内为主) Arc / GKE Multi-Cloud / Rancher 跨云统一治理 锁定程度 API 强绑定,迁移需适配

    34610

    k8s集群5个故障案例分析

    结果查明,默认情况下,谷歌Kubernetes引擎(GKE)使用的IP地址比预期的要多得多。...Lerko说:“GKE为每个节点分配256个IP地址,这意味着如果运行256个节点,就连像/16这样的大型子网也会很快耗尽地址资源。”...为了避免类似问题,Lerko建议减少每个节点的最大Pod数量,并考虑使用子网扩展以扩大可用IP的范围,或增加现有节点的大小。...为DevOps Hof撰稿的Marcel Juhnke描述了在GKE中将工作负载从一个节点池迁移到另一个节点池时,错误配置如何导致某个集群中的入站(ingress)完全中断。...利用该信息,黑客进而访问了JW Player的Kubernetes节点上的根目录。 虽然这次泄密事件没有影响任何生产服务,但确实浪费了计算能力;至少可以说,这令人震惊。

    3.2K40

    对比Kubernetes的Nodeport、Loadbalancer和Ingress,什么时候该用哪种

    它们是将外部流量引入群集的不同方式,并且实现方式不一样。 我们来看看它们是如何工作的,以及什么时候该用哪种。 注意:本文适用于 Google Kubernetes Engine。...启动 Kubernetes Proxy: $ kubectl proxy --port=8080 现在,你可以使用如下的 Kubernetes API 访问服务: http://localhost:8080.../api/v1/proxy/namespaces//services/:/ 所以,如果要访问我们刚刚定义的服务,可以使用下面的地址...这种方法有许多缺点: 每个端口只能有一个服务 默认您只能使用端口30000-32767 如果您的 节点/虚拟机 IP 地址发生更改,则需要处理该问题 由于这些原因,我不建议在生产中使用这种方法。...在 GKE 上,这将启动一个网络负载平衡器,它将为您提供一个将所有流量转发到您的服务的IP地址。 ? 什么时候用? 如果你想直接暴露一个服务,这是默认的方法(GKE上)。

    6.4K31

    Kubernetes网络揭秘:一个HTTP请求的旅程

    我们的hello-world服务需要GCP网络负载平衡器。每个GKE集群都有一个云控制器,该云控制器在集群和自动创建集群资源(包括我们的负载均衡器)所需的GCP服务的API端点之间进行连接。...hello-world pod绝对不会在节点的端口80上侦听。如果在节点上运行netstat,我们将看到没有进程在该端口上侦听。 ? 那么,如何通过负载平衡器建立成功的连接请求?...带有此标记的数据包将按照POSTROUTING规则进行更改,以使用源IP地址作为节点IP地址的源网络地址转换(SNAT)。...Kubernetes网络模型要求集群中的所有Pod能够直接相互寻址,而不管其主机节点如何。...但是,我们强烈建议您使用在生产集群中实现NetworkPolicy API的CNI,并创建限制Pod流量的策略。 启用HostNetwork属性创建的Pod将共享节点的网络空间。

    3.5K31

    Kubernetes集群网络揭秘,以GKE集群为例

    每个GKE集群有一个云控制器,该控制器在集群和需要自动创建集群资源(包括我们的负载均衡器)的GCP服务的API endpoints 之间建立接口。...Hello-World Pods 绝对没有侦听节点上的80端口. 如果在节点上运行netstat, 我们将看到在该端口上没有进程在侦听。 那么,如何通过负载均衡器建立成功的连接请求?...带有此标记的数据包将按照POSTROUTING规则进行更改,以使用源IP地址作为节点IP地址的源网络地址转换(SNAT)。 2....Kubernetes网络模型要求集群中的所有Pod能够直接相互寻址,而不管其主机节点如何。...但是,我们强烈建议您使用在生产集群中实现NetworkPolicy API的CNI,并创建限制Pod流量的策略。 启用了HostNetwork属性创建的Pod将共享节点的网络空间。

    4.9K41

    通过Kyverno使用KMS、Cosign和工作负载身份验证容器镜像

    GCP 提供了工作负载身份特性,允许在 GKE 上运行的应用程序访问谷歌云 API,如计算引擎 API、BigQuery 存储 API 或机器学习 API。...当访问 Google Cloud API 时,使用已配置的 Kubernetes 服务帐户的 pod 会自动验证为 IAM 服务帐户。...此外,对于运行在 Google Kubernetes Engine (GKE)上的工作负载,工作负载身份是以安全和可管理的方式访问 Google 云服务的推荐方式。...我们将使用PROJECT_ID.svc.id.goog形式的固定工作负载身份池。 当你在集群上启用工作负载身份时,GKE 会自动为集群的 Google Cloud 项目创建一个固定的工作负载身份池。...工作负载身份池允许 IAM 理解和信任 Kubernetes 服务帐户凭证。GKE 将该池用于项目中使用工作负载身份的所有集群。

    6.2K20

    云原生 | k8s网络之calico组件多方式快速部署及使用calicoctl管理维护网络

    仅在群集内可达,因此对该服务的外部访问需要专用的负载均衡器或入口控制器。...操作示例: # 群集的范围可以从传递给Kubernetes API服务器的选项 "--service-cluster-ip-range" 查看 # 检查是否具有默认的BGPConfiguration:.../floatingIPs": "[\"10.0.0.1\"]" # 浮动IP必须在已配置IP池的范围内...Calico从集群的 POD CIDR 中分配的地址范围,默认情况下Calico为整个集群创建了一个IP池 ... # 用户可以将其优化来实现将这个默认的地址池再细分为若干个池子,然后使用节点选择器或其他对象的选择器如命名空间来进行池子的分配...EOF # 增加命名空间的注释 (限制名称空间中所有Pod使用的IP地址范围),值为IP池的名称 annotations: "cni.projectcalico.org/ipv4pools":

    16.3K50

    Kubernetes Network Policy 101

    在bare mental上部署私有化的容器平台,由于资源池计算节点都是在一个IP段内(小一点是一个C段),在上面部署的应用系统A如果要访问自己的数据库X,就得开通整个IP段的硬件层面防火墙策略,这样另一个应用系统...有了Kubernetes,我们可以尝试解决这个应用访问隔离的问题。...,从而解决应用访问隔离的问题。...GKE Demo 谷歌家的GKE可以通过命令创建一个开启network policy的k8s集群,它选用的calico网络方案的实现,目前开源世界里支持 NetworkPolicy 最好的解决方案了。...为此,我创建了一个git repo,里面有基于GKE的详细例子: https://github.com/nevermosby/k8s-network-policy101 还包括以下内容: 创建带特别标签

    79220

    JFrog助力Google Anthos混合云Devops实践,实现安全高质量的容器镜像管理

    而作为数字化转型的另外一个风向标DevOps如何与当前的混合云发展进行协作,带向企业进入云原生时代,将会成日今后数字化建设的一个重要主题。...作为以容器为基础的混合云平台,应用容器化后如何同步并保持公有云和私有云的镜像一致性方面,JFrog起了关键作用。...该应用程序将在公司自己的数据中心内运行,并且可以按照政府法规的要求访问防火墙后保护的敏感数据。...整个pipeline流程: 一 .开发侧 1开发人员在版本控制系统(例如GitHub)中维护应用程序代码 2当开发人员提交代码更改(即“提交”)时,它将触发新的构建任务 二 .On Cloud的平台工作流...3 GKE将构建容器镜像部署到K8s集群中的节点。 4当其已知漏洞的数据库更新时,Xray会扫描生成的图像。如果发现已经部署的映像具有新发现的漏洞,及时通知到相关人员进行升级或安全维护。

    2.3K40

    GKE使用eBPF提高容器安全性和可视性

    随着越来越多的企业采用 Kubernetes,围绕多云、安全、可视性和可扩展性的新要求,用例的范围也在扩大。...通过将 eBPF 引入 GKE,我们现在可以支持实时策略执行,也可以以线速将策略行为(允许/拒绝)关联到 Pod、命名空间和策略名称,对节点的 CPU 和内存资源影响最小。 ?...上图显示了高度专业化的 eBPF 程序是如何安装到 Linux 内核中,以执行网络策略并报告操作日志的。...当数据包进入虚拟机时,安装在内核中的 eBPF 程序会决定如何路由该数据包,与 IPTables 不同的是,eBPF 程序可以访问 Kubernetes 特定的元数据,包括网络策略信息,这样一来,它们不仅可以允许或拒绝数据包...通过 DSR,我们可以降低每个节点的带宽需求,以及避免端口耗尽。

    1.7K20

    Kubernetes-in-Kubernetes和Kubefarm

    它是如何工作的 现在让我们看看它是如何工作的。...编排物理服务器 好了,现在你可以看到 Kubernetes 控制平面是如何部署的,但是工作节点呢?我们如何添加它们呢?正如我已经说过的,我们所有的服务器都是裸金属的。...如果你曾经为 gke 使用过 terraform 模块,那么这个逻辑会听熟悉。...IP-address,DHCP 服务器应该发给这个节点。 在本例中,你有两个池:第一个池有 5 个节点,第二个池只有一个节点,第二个池也分配了两个标记。标记是描述特定节点配置的方式。...然后将前一阶段的根复制到最终的镜像中,并从它生成压缩镜像。我们得到了一个 docker 镜像,其中包含节点的服务器镜像和引导镜像。同时,它可以通过更改 Dockerfile 轻松更新。

    1K10
    领券