首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kubernetes 中的 Pod 安全策略

很多人分不清 SecurityContext 和 PodSecurityPolicy 这两个关键字的差别,其实很简单: SecurityContext 是 Pod 中的一个字段,而 PSP 是一个独立的资源类型...SecurityContext 是 Pod 自身对安全上下文的声明; 而 PSP 则是强制实施的——不合规矩的 Pod 无法创建。...PSP,接下来在集群设置中启动 PSP,各种环境的启用方式不同,例如在 GKE 环境: $ gcloud beta container clusters update gcp-k8s --enable-pod-security-policy...我删除了 kube-system 下面的一个 kube-proxy 的 Pod,发现这个 Pod 自动重建了,没有受到 PSP 的影响,查看一下 RBAC 相关配置,会发现 GCP 在更新集群的过程中已经为系统服务进行了预设...: ServiceAccount name: metadata-proxy namespace: kube-system 如果追查其中涉及到的 ClusterRole,会发现它指向一个 PSP:

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

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

    kube-proxy将寻址到集群中Kubernetes服务对象的虚拟IP地址(VIP)的流量转发到适当的后端Pod中。...然而,Google Cloud Platform(GCP)网络负载均衡器仅将流量转发到与负载均衡器上传入端口位于同一端口上的目标实例,即,到负载均衡器上端口80的流量将发送到目标后端实例上的80端口。...5 Pod 网络 这篇文章不会详细介绍Pod网络,但是在我们的GKE集群中,Pod网络有自己的CIDR块,与节点的网络分开。...GKE集群使用Kubernetes CNI,它在每个节点上创建到Pod网络的网桥接口,为每个节点提供自己的Pod IP地址专用CIDR块,以简化分配和路由。...请注意,我们没有通过在GKE集群中启用Kubernetes网络策略支持来安装Calico CNI, 因为Calico会创建大量的其他iptables规则,从而在可视化跟踪到Pod的虚拟路由时添加了额外的步骤

    4.1K41

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

    但是,Google Cloud Platform(GCP)网络负载均衡器仅将流量转发到与负载均衡器上传入端口位于同一端口上的目标,也即是到负载均衡器上端口80的流量将发送到目标后端上的端口80实例。...尽管指定本地交付显然会减少请求的平均网络延迟,但可能导致服务Pod的负载不均衡。 Pod网络 这篇文章不会详细介绍Pod网络,但是在我们的GKE集群中,pod网络有自己的CIDR块,与节点的网络分开。...GKE群集使用kubenet CNI,它在每个节点上创建到Pod网络的网桥接口,为每个节点提供自己的Pod IP地址专用CIDR块,以简化分配和路由。...Google Compute Engine(GCE)网络可以在VM之间路由此pod网络流量。 HTTP请求 这就是我们获取HTTP 200响应代码的方式。 ?...请注意,我们没有通过在GKE集群中启用Kubernetes网络策略支持来安装Calico CNI,因为Calico创建了大量其他iptables规则,在视觉上跟踪到Pod的虚拟路由时增加了额外的步骤。

    2.8K31

    Running Solr on Kubernetes

    Prerequisites 先决条件 在本节中,我们将介绍如何使用Kubernetes进行设置以及如何在GKE中启动您的第一个集群。...Kubernetes 在整个文档中,我们展示了如何部署到基于Google Kubernetes Engine(GKE)的集群。...首先,将带有Zookeeper的3节点Solr集群部署到GKE。...简单的说,可以将pod视为在安装了特定应用程序的逻辑主机上的一组相关的进程。Pod中的容器共享相同的IP地址和端口空间,因此它们可以通过localhost进行通信,但不能绑定到相同的端口。...重要的是,Kube在使用相同的n1-standard-4实例类型的GCE中具有与基于VM的性能相当的性能。 在下一篇文章中,我们将在启用Solr复制的情况下在更大的集合上运行更长的性能和负载测试。

    6.3K00

    建立一个像科幻小说一样的虚拟世界:设计一个全球性的虚拟世界

    或者,对于这种算法失效的区域,你可以允许用户为图标式地标提交自定义模型和纹理,然后将其插入到生成的 3D 环境中。 ?...例如,我们可以创建一个负载均衡器来自动扩展一组 GCE 实例。或者我们可以制作一个可以根据需求进行扩展的 Kubernetes pod。...**对于 World Shards 而言,我们可以轻松使用一组共享一个图像的实例化的 GCE 虚拟机来实现,但是 app engine flex 为我们提供了相同的功能,且不需要额外的维护开销。...同样的,一个 GKE Kubernetes 集群也可以做到这一点,但对于我们的应用场景,我们并不需要 GKE 提供的一些高级功能。 我们还需要一组独立的计算单元来帮助我们管理所有二级世界互动项目。...为此,你可以启动第二组 App Engine Flex 实例。 所有需要分发到多个其他客户端的持久性数据将存储在云端 Spanner 中,这将使得区域比较靠近的用户在有需要时能够尽快共享信息。 ?

    2K30

    (译)Prometheus 和 Pod 标签

    注:这里实际上涉及到两种标签,一个是 Pod 的,一个是 Metrics 的,非常容易混淆,所以会分别写成 Pod 标签和指标标签。...Prometheus 是为 Kubernetes 这样的动态环境而生的。它的服务发现能力和查询语言非常强大,Kubernetes 运维过程中,用户可以借 Prometheus 解决监控问题。...相对其它竞品来说,这种弹性直接提高了 Prometheus 的使用门槛,向量匹配 就是众多拦路虎中的一个。...Prometheus 文档中在这个主题上做了非常精彩的阐述,所以本文中不会做过多的细节阐述,而是会围绕资源使用率这个主题进行一些场景化的尝试。...因为在 kube_pod_labels 中,Pod 的指标标签是 pod,而在 containers_memory_usage_bytes 中则变成了 pod_name。

    1.1K30

    在Kubernetes集群中扩展CoreDNS

    本文中的指南和公式基于GCE中的一组集群测试,您的环境可能会有所不同。这篇博文是完整结果的摘录,你可以点击文末>进入网页了解更多细节。...内存和Pod 在大规模Kubernetes集群中,CoreDNS的内存使用率主要受集群中Pod和服务数量的影响。 ?...启用autopath插件需要CoreDNS使用更多的内存来存储有关Pod的信息。启用autopath插件还会对Kubernetes API产生额外的负担,因为它必须监视对Pod的所有更改。...使用默认的CoreDNS设置 GCE n1-standard-2节点上的单个CoreDNS实例(默认设置): ?...在GCE n1-standard-2节点上单个CoreDNS实例(启用了autopath插件): ? 请注意,此处的外部查询数量大大改善。这是由于autopath插件优化。

    2.2K30

    介绍一个小工具:Security Profiles Operator

    在云原生安全方面,Kubernetes 在不同维度提供了很多的不同内容,例如 RBAC、Networkpolicy、SecurityContext 等等,种种措施中,像我这样基础不牢的 YAML 工程师最头大的可能就要数...finalizers: - gke-gcp-vlab-k8s-default-pool-7c61250b-x3h1-delete - gke-gcp-vlab-k8s-default-pool-...便于进行后续步骤 如果我不想修改 Pod,可以用 ProfileBinding 把 Seccomp Profile 和镜像绑定到一起,如下配置: apiVersion: security-profiles-operator.x-k8s.io...-5tct-delete - gke-gcp-vlab-k8s-default-pool-d97cb436-mdgb-delete - gke-gcp-vlab-k8s-default-pool-d97cb436...这里看到,删除 Pod 之后,录制过程自动生成了新的 SeccompProfile,其中包含了 Pod 工作过程中使用的配置,并且已经被安装到了各个节点之上。

    69010

    介绍一个小工具:Inspektor Gadget

    为了跟踪 Pod 行为,Inspektor Gadget 把 BPF 程序附加到内核函数上,当函数被执行时,内核也会运行这些被注入的程序。...为了做到这一点,程序在包含要追踪的 Pod 列表的 BPF Map 中查找当前的 cgroup id,如果没有找到,程序会提前退出。...执行一段时间后使用 Ctrl+C 终止命令,可以看到指定的输出文件中包含了一堆类似 JSON 的记录内容,可以用这个文件生成网络策略: $ kubectl gadget advise network-policy...上面 start 命令执行后出现的 HAmaTrPcxTLDNfSo 就是跟踪 ID,开始一段时间之后,可以调用 stop 命令结束跟踪,跟踪结束后会显示这个 Pod 的 Seccomp: kubectl...sni: TLS 请求中的 SNI tcp: TCP 的 connect、accept 和 close tcpconnect: connect 调用 例如对 open 的跟踪: $ kubectl gadget

    84430

    Kubernetes – Google分布式容器技术初体验

    Kubernetes设计上并未绑定Google Cloud平台,但由于以上原因,为了减少不必要的障碍,初次尝试建议使用GCE作为运行环境(尽管GCE是一个需要收费的环境)。...比如定义了一个apache pod,通过replicationController设置启动100个replicas,系统就会在pod创建后自动在所有可用的minions中启动100个apache container...动态部署到不同的节点后,而且还存在前文提到的动态切换的功能,前端应用如何来发现并访问这些服务?...另外service目前的实现是将虚拟IP通过iptables重定向到最终的pod上,作者也提到iptables定向的局限性,不适合作为大型服务的实现。...-f tomcat-pod.json 创建成功后通过 cluster/kubectl.sh get pods 来查看它所在minion及ip,可以通过curl或浏览器来访问(请开启GCE防火墙端口设置

    53420

    k8s集群5个故障案例分析

    Buffer的故事就是一个例子。在人为遏制导致性能不佳后,基础架构团队最终决定为面向用户的实例取消CPU限制和遏制,针对每个节点分配合适的CPU,留出>20%的余量。...后来发现,通常需要几分钟来部署的应用程序却需要几小时。集群中的一半pod像往常一样顺畅运行,而另一半陷入挂起状态。它们是如何用完IP地址的?...结果查明,默认情况下,谷歌Kubernetes引擎(GKE)使用的IP地址比预期的要多得多。...为DevOps Hof撰稿的Marcel Juhnke描述了在GKE中将工作负载从一个节点池迁移到另一个节点池时,错误配置如何导致某个集群中的入站(ingress)完全中断。...Choy称,他们还在研究服务网格方案,比如Linkerd和Istio,以保护端到端流量。

    2.6K40

    Kubernetes中的Volume介绍

    使用 awsElasticBlockStore 卷时有一些限制: 运行 Pod 的节点必须是 AWS EC2 实例 这些实例需要与 EBS 卷位于相同的区域和可用区域 EBS 仅支持卷和 EC2 实例的一对一的挂载...使用 gcePersistentDisk 时有一些限制: 运行 Pod 的节点必须是 GCE 虚拟机 那些虚拟机需要在与 PD 一样在 GCE 项目和区域中 PD 的一个特点是它们可以同时被多个用户以只读方式挂载...它会挂载一个空目录并将 git 存储库克隆到您的容器中。将来,这样的卷可能会转移到一个更加分离的模型,而不是为每个这样的用例扩展 Kubernetes API。...secret secret 卷用于将敏感信息(如密码)传递到 pod。...挂载传播允许将由容器挂载的卷共享到同一个 Pod 中的其他容器上,甚至是同一节点上的其他 Pod。 如果禁用 MountPropagation 功能,则不会传播 pod 中的卷挂载。

    2.2K20
    领券