Kubernetes节点的元数据端点
翻译
原文:https://devopscube.com/cks-exam-guide-tips/#kubernetes-node-metadata-endpoints
- name: 翻译
desc: 原文:https://devopscube.com/cks-exam-guide-tips/#kubernetes-node-metadata-endpoints
bgColor: '#F0DFB1'
textColor: 'green'
1
2
3
4
2
3
4
# Kubernetes节点的元数据端点
基于云的 Kubernetes 需要设置元数据隐藏,因为其中的实例会公开元数据信息,包括凭据。
这意味着在每个实例上运行的 Pod 都可以访问元数据服务端点,以检索敏感信息。
Pod 对元数据服务器的访问可以通过网络策略进行控制。
保护节点元数据和端点 | 限制云元数据 API 访问 (opens new window) |
配置网络策略 | 网络策略配置指南 (opens new window) |
提示
当您在云上使用托管 Kubernetes 服务时(GKE、EKS、AKS),它附带了禁用 Pod 元数据访问的选项。
译者加
- 保护方式一:在整个集群范围内,引入一个空的出口策略(
NetworkPolicy.spec.egress
),默认情况下,空策略会禁止一切流量通行,包括对元数据端点的访问流量。然后你再设置白名单,来允许部分流量通过。 - 保护方式二:如果不可避免地要设置
ipBlock.cidr: 0.0.0.0/0
之类的参数,则你可以通过ipBlock.except
将元数据端点的地址排除掉。例如:
......省略
spec:
egress:
- to:
- ipBlock:
cidr: 0.0.0.0/0
except: ["169.254.169.254/32"] # 排除元数据端点
1
2
3
4
5
6
7
2
3
4
5
6
7
- 在本博客中也记录了一些流行云厂商的元数据服务端点 IP 地址。
编辑 (opens new window)