Skip to Content
《使用 Kubernetes 实现云原生 DevOps(第二版)》
book

《使用 Kubernetes 实现云原生 DevOps(第二版)》

by Justin Domingus, John Arundel
May 2025
Intermediate to advanced
356 pages
3h 47m
Chinese
O'Reilly Media, Inc.
Content preview from 《使用 Kubernetes 实现云原生 DevOps(第二版)》

第 11 章 安全、备份和群集健康

本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com

如果你认为技术可以解决你的安全问题,那么你既不了解问题,也不了解技术。

布鲁斯-施奈尔,《应用密码学

在本章中,我们将探讨 Kubernetes 中的安全和访问控制机制,包括基于角色的访问控制(RBAC),概述一些漏洞扫描工具和服务,并解释如何备份 Kubernetes 数据和状态(更重要的是,如何恢复数据和状态)。我们还将介绍一些有用的方法,以了解集群中发生的情况。

访问控制和权限

小型科技公司往往只有几名员工,每个人都有每个系统的管理员权限。

不过,随着组织的发展壮大,最终会发现让每个人都拥有管理员权限不再是个好主意:有人太容易犯错,更改了不该更改的内容。这同样适用于 Kubernetes。

按群组管理访问

要确保 Kubernetes 集群的安全,最简单有效的方法之一就是限制谁可以访问它。一般来说,有两类人需要访问 Kubernetes 集群:集群操作员应用开发人员,作为工作职能的一部分,他们往往需要不同的权限和特权。

此外,您很可能拥有多个部署环境,如生产环境和暂存环境。这些独立的环境需要不同的策略,具体取决于你的组织。生产环境可能只对某些人开放,而暂存环境则可能对更广泛的工程师群体开放。

正如我们在"我需要多个集群吗?"一文中所看到的为生产和暂存或测试分别建立集群通常是个好主意。如果有人不小心在暂存中部署了一些东西,导致集群节点宕机,也不会对生产造成影响。

如果一个团队不能访问另一个团队的软件和部署流程,那么每个团队都可以拥有自己的专用集群,甚至没有其他团队集群的凭证。

这无疑是最安全的方法,但额外的集群也有代价。每个集群都需要打补丁和监控,而且许多小型集群的运行效率往往低于大型集群。

基于角色的访问控制(RBAC)介绍

管理访问的另一种方法是使用 Kubernetes 的基于角色的访问控制(RBAC)系统,控制谁可以在集群内执行某些操作。

RBAC 设计用于向特定用户(或服务账户,即与自动化系统相关的用户账户)授予特定权限。例如,如果某个用户需要,你可以授予他列出群集中所有 Pod 的权限。

关于 RBAC,首先也是最重要的一点是,它应该开启。RBAC 在 Kubernetes 1.6 中引入,是设置群集时的一个选项。不过,你的集群中是否真的启用了这个选项,取决于你的云提供商或 Kubernetes 安装程序。

如果运行的是自托管群集,请尝试使用此命令查看群集是否启用了 RBAC:

kubectl describe pod -n kube-system -l component=kube-apiserver
Name:         kube-apiserver-docker-for-desktop
Namespace:    kube-system
...
Containers:
  kube-apiserver:
      ...
    Command:
      kube-apiserver
      ...
      --authorization-mode=Node,RBAC

如果--authorization-mode 不包含RBAC ,则群集未启用 RBAC。请查看安装程序的文档,了解如何在启用 RBAC 后重建群集。

如果没有 RBAC,任何拥有集群访问权限的人都有权做任何事,包括运行任意代码或删除工作负载。这可能不是你想要的。

了解角色

那么,假设启用了 RBAC,它是如何工作的呢?最重要的概念是用户

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

在 Kubernetes 上管理云原生数据

在 Kubernetes 上管理云原生数据

Jeff Carpenter, Patrick McFadin
《Kubernetes 最佳实践》第二版

《Kubernetes 最佳实践》第二版

Brendan Burns, Eddie Villalba, Dave Strebel, Lachlan Evenson
生产 Kubernetes

生产 Kubernetes

Josh Rosso, Rich Lander, Alex Brand, John Harris
Cloud Native DevOps mit Kubernetes

Cloud Native DevOps mit Kubernetes

John Arundel, Justin Domingus

Publisher Resources

ISBN: 9798341659179