问题标签 [kubernetes-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2314 浏览

kubernetes - 不使用 kubectl 访问 Kubernetes API

我正在尝试直接访问 Kubernetes API 而无需运行kubectl -proxy. 但是当我使用服务帐户默认的令牌时,我得到一个 403。即使在为此服务帐户创建了 ClusterRole 和 ClusterRoleBinding 之后,请求也会被 403 拒绝。

我应用的配置如下所示:

(这几乎是 kubernetes io 文档中的那个,只是使用 ServiceAccount 作为 Subject 并将资源更改为 pod)

然后我应用了配置并尝试通过 curl 访问 pod:

我猜错误消息显示身份验证部分没问题,因为看起来请求被正确识别为来自服务帐户默认值:默认值。但是我必须做些什么才能授权这个(或另一个服务帐户)访问有关 pod 或节点的信息?

从 Pod 外部调用 curl 时,我会看到此错误,但如果我 - 例如 - 使用 kubernetes java 客户端使用安装在 /var/run/secrets 下的秘密从 Pod 内访问 API。

我是K8s新手,如果这是一个愚蠢的问题,请原谅我。

关于配置:我在具有一个主节点和两个工作节点的 Raspberry Pi 集群上运行 K8s 1.8。我没有给 kubeadm init 传递太多信息,所以我猜它应该有默认配置。FWIW kubectl describe 显示了 apiserver 的这个命令:

0 投票
2 回答
472 浏览

kubernetes - 在 HA Kubernetes 集群中挂载默认令牌时返回禁止

我在 kubernetes 中安装默认令牌时遇到问题,它不再适用于我,我想在 Github 上创建问题之前直接询问,所以我的设置基本上包括一个 HA 裸机集群和手动部署的 etcd(其中包括证书 ca , 键)。部署运行节点注册,我只是无法部署 pod,总是给出错误:

MountVolume.SetUp failed for volume "default-token-ddj5s" : secrets "default-token-ddj5s" is forbidden: User "system:node:tweak-node-1" cannot get secrets in the namespace "default": no path found to object

其中tweak-node-1 是我的节点名和主机名之一,我发现了一些类似的问题: - https://github.com/kubernetes/kubernetes/issues/18239 - https://github.com/kubernetes/kubernetes /问题/25828

但没有一个能解决我的问题,因为问题不一样。我在尝试运行 pod 并尝试设置两个 RBAC ABAC 时只使用默认命名空间,两者都给出了相同的结果,这是我用于部署显示版本的模板etcd 配置:

0 投票
2 回答
2552 浏览

kubernetes - kubernetes:使用默认配置文件对 ui 的身份验证失败

kops我已经使用以下命令在 AWS 上成功设置了一个 kubernetes 集群:

访问仪表板时,系统会提示我输入令牌或

请选择您创建的 kubeconfig 文件来配置对集群的访问。

创建集群时,~/.kube/config已创建具有以下形式:

为什么将 kubernetes ui 指向上述文件时,我得到

身份验证失败。请再试一次。

0 投票
1 回答
921 浏览

amazon-web-services - kubernetes:默认 AWS ECR 权限

根据官方kubernetes 文档,为了让您的节点能够访问 AWS ECR,需要将以下标志添加到~/.kube/config

然后,更新集群后,应将以下权限添加到您的 ec2 实例:

但是,我刚刚使用 AWS 在 AWS 上创建了一个集群,kops并且我的节点已经拥有这些权限,而我没有做任何额外的配置工作。

这是正常的吗?

0 投票
2 回答
4544 浏览

kubernetes - .kube/config 中没有访问令牌

在 GKE 中升级我的集群后,仪表板将不再接受证书身份验证。

没问题,我的同事说 .kube/config 中有一个可用的令牌

除了在我的情况下没有...

我尝试使用 gcloud 重新进行身份验证,与同事比较 gcloud 设置,更新 gcloud,重新安装 gcloud,检查 Cloud Platform 中的权限。几乎我能想到的所有东西,仍然不会生成访问令牌。

有人可以帮忙吗?!

0 投票
1 回答
1550 浏览

kubernetes - kubernetes:以管理员身份登录仪表板

我已经部署了一个k8s集群来aws使用kops.

该过程创建了一个~./kube/config具有以下结构的文件:

当(在创建仪表板之后)我执行kube proxy并尝试通过 localhost 访问它时,系统会提示我以下屏幕:

在此处输入图像描述

1:为什么当我将文件浏览器指向上面创建的~./kube/config文件时,我得到

身份验证失败

2:当我提供password包含在~./kube/config文件中的内容时,我确实登录但不是以管理员身份登录(例如,我无法查看 pod 上的计算资源)

0 投票
1 回答
3318 浏览

kubernetes - kubernetes:通过 kops 部署时的 CA 文件

我在aws使用时创建了一个集群kops

但是,我无法找到证书颁发机构用来生成客户端证书的文件。

kops默认情况下会创建这样的东西吗?

如果是这样,创建客户端证书的推荐过程是什么?

kops文档对此不是很清楚。

0 投票
2 回答
602 浏览

kubernetes - 多个认证机构证书 (?)

我在使用时创建了一个kubernetes集群。awskops

除非我错了,否则ca.crtca.key文件位于以下位置,如这个非常有用的答案所示:

但是,我不禁注意到在我的~/.kube/config文件(由 自动创建kops)中,我有一个名为:

其内容与上述两个文件都不同。

在任何情况下,我们在颁发客户端证书时应该使用的 CA 密钥/crt 对是什么?

为什么有(似乎)不止一个 CA?

0 投票
1 回答
2011 浏览

kubernetes - kubernetes/kops:默认用户和权限

使用kubectlkops 1.8

aws当使用kops客户端证书(在client-certificate-data字段中 以字符串形式出现)旋转集群时,~/.kube/config创建的值如下:

除非我错了,从 开始, rganitazionkubernetes 1.4的值被解释为信息(与值关联的字符串就是所谓的用户,因为本来就没有这样的概念)OgroupCNk8s

1:如何查看与system:masters组和/或kubecfg用户关联的权限?

  • (与上述有关):我现在使用的开箱即用的授权方式是什么?RBAC? 我怎样才能检查这个?

2:为什么我的条目没有~/.kube/config包含用户?(而是一个带有我的集群名称的用户和另一个名为的用户?)kubecfgadmin

kubectl归根结底,在执行命令时,我正在与哪个用户执行 api 调用?

更新:我试图弄乱我的价值,client-certificate-data~/.kube/config得到了

错误:tls:私钥与公钥不匹配

我假设这意味着我正在使用x509基于身份验证(?)

所以我将 api 调用作为kubecfg

0 投票
1 回答
86 浏览

networking - Kubernetes:应用程序的集群内隔离

我一直在试验k8s//套件kopsaws

到目前为止,一切进展顺利(通过更新集群时出现问题kops除外)

我希望能够利用我现有的资源/集群并在同一个集群中部署我的应用程序的 2 种风格(即production和)。testing

我希望安全起见,尽可能地最大化k8s这两个部署的资源之间的隔离。

肯定会有不同的命名空间。

通过一些调查我发现我也需要申请NetworkPolicy以防止相互namespace通信;但是应用NetworkPolicy资源需要一个支持的网络解决方案(当前使用kubenet,默认kops使用)。

解决方案/插件是什么?

只想要(至少暂时)上面描述的隔离级别,NetworkPolicy即使CIDR所有 pod 都有一个公共,我认为可以通过它来实现(只是说强调需要最简单的可能的网络解决方案实现了这一点,没有更多花哨的CIDRs等)。

理想情况下,我希望能够将资源用于某些基于 - 的 ( ) 和 -基于 ( ) 的入口规则,仅此而已(?NetworkPolicynamespacenamespaceSelectorpodpodSelector