问题标签 [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.
kubernetes - Kubernetes。命名空间隔离
以前,为了限制我使用的命名空间之间的访问:
在 1.6.1 版本中不起作用。目前建议的版本:
当前提议的版本不满足,因为您需要为 pod 创建单独的策略。
现在有这样的事情吗?
kubernetes - Kubernetes Secrets - 秘密定义中“不透明”类型的目的是什么
在大多数关于在 Kubernetes 中使用机密的示例中,您可以找到类似的示例:
上面定义的目的是什么type: Opaque
?可以在那里指定哪些其他类型(以及针对哪些用例)?
kubernetes - 使用服务帐户或其他方式安装 client.crt、client.key、ca.crt?
以前是否有人使用服务帐户挂载 ssl 证书以从正在运行的作业中访问 aws 集群?我们如何做到这一点?我创建了作业,这是来自导致 Pod 处于错误状态的失败容器的输出。
kubernetes - 安全访问私有 helm 存储库
- 这甚至可以用 helm 实现吗?
- 哪些安全选项是可能的(BasicAuth?客户端证书?OAuth2?)
- 是否有任何关于此的示例/文档(服务器端和客户端)?
kubernetes - 在 Kubernetes 1.6 中,使用 ssl 认证时,Kubelet 服务无法启动,为什么?
当我执行“systemctl start kubelet”命令时,结果显示“错误:无法运行 kubelet:无法创建证书签名请求:服务器已要求客户端提供凭据(post certificatesigningrequests.certificates.k8s.io)”
配置文件如下:</p>
--experimental-bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig --kubeconfig=/etc/kubernetes/kubelet.kubeconfig --require-kubeconfig --cert-dir=/etc/kubernetes/ssl --cluster-domain =cluster.local。--hairpin-mode 混杂桥 --serialize-image-pulls=false"
如果我对上面的行发表评论,那么一切正常,但是我想使用 SSL 身份验证,我该怎么办?
kubernetes - Kubernetes system:serviceaccount:default拒绝访问
那么有没有人知道我需要在我的 ServiceAccount yaml 中放入什么,以便在我尝试通过 REST API 列出内容时不会被拒绝访问我的 ServiceAccount: curl https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1/ namespaces/default/persistentvolumeclaims -X GET -k -H "授权: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" User "system:serviceaccount:default:my-service-service-account ” 无法列出命名空间“default”中的 persistentvolumeclaims。
我的 RBAC serviceAccount 在 YAML 中设置如下:
kubernetes - 受限制的 Kubernetes 仪表板?
是否可以有一个受限制的Kubernetes 仪表板?这个想法是在集群中运行一个 pod kubectl proxy
(受基本 HTTP 身份验证保护)以快速了解状态:
- 豆荚的日志输出
- 运行服务和 pod
- 当前 CPU/内存使用情况
但是,我不希望用户能够执行“特权”操作,例如创建新 pod、删除 pod 或访问机密。
是否有一些选项可以使用指定用户或受限权限启动仪表板?
kubernetes - Google Cloud Container Engine (GKE) 上的 IAM 和 RBAC 冲突
语境
通过 Google Cloud IAM 功能管理对 Google Cloud (GKE) kubernetes 集群的访问;
管理员邀请新用户(使用他们的 google 帐户/登录名)并为他们分配一个角色。
下面的示例角色是“Container Engine Viewer”,它将允许用户访问 Kubernetes 集群并运行所有“查看”操作。
用户可以
gcloud auth login
在他们的本地机器上使用 ,然后gcloud container clusters get-credentials
向 Google IAM 进行身份验证,并让该gcloud
工具将它们写出一个 kubernetes 配置文件,准备好使用集群。然后用户可以使用它
kubectl
来访问集群。在上面的例子中,读取工作......写入/更改不;都好!
问题
GKE kubernetes 集群的 IAM 角色非常简单,“管理员、读/写、读”。
为了对 Kubernetes 集群进行更细粒度的控制,应该在集群内使用 Kubernetes RBAC ,允许我将用户限制为单个命名空间、单个 API 端点、单个操作等。
但是,没有为用户指定 IAM 角色;用户无法对集群进行身份验证(RBAC 是授权,而不是身份验证)。
然而,我可以设置的最低权限 IAM 角色是“容器引擎查看器”,因此无论我使用 Kubernetes RBAC 实施的限制如何,我的所有用户仍然具有完全读取权限。
问题
有没有人找到一种方法来确保 GKE 中的所有权限都来自 RBAC,基本上取消来自 IAM 的权限?
ssl - 在 GCE 中的 kubernates 上启用 SSL
我正在为 GCE 中的 kubernates 集群启用 HTTPS。我正在尝试利用 kubernates Ingress
我有 cert 和 priv 密钥,并且我创建了一个附加这些(ssl-secret)的秘密:
我还有一个利用秘密(ssl-ingress)的入口:
最后,我尝试使用以下设置将这些应用到我的集群:
因此,我的目标是使用此设置,我将能够在https://test.domain.se上访问 test.domain.se 。但它只是超时,而http://test.domain.se工作得很好。
描述入口我得到以下信息:
所以我的问题如下:
警告 GCE googleapi:错误 400:无法解析 SSL 密钥。
1:似乎 Ingress 需要 priv 密钥的密码。如何向秘密添加密码(密钥确实有已知的密码,但我如何告知秘密呢?)
警告服务无法识别用户指定的默认后端,找不到默认/客户端的节点端口,使用系统默认值
2:它声称它找不到默认/客户端的节点端口。我的目标服务客户端已经在运行,但是入口似乎在服务名称之前附加了 default/ 。为什么,以及如何指定客户端服务?
docker - 如何使用https调用kubernetes api服务器
我在 linux 服务器上有一个两节点 kubernetes 集群,我使用 kubernetes api 通过 kubeproxy 使用 http api 来提取关于它们的统计信息。但是我还没有找到任何关于如何使用 https 的好文档。我对设置环境有点陌生,所以很多高级文档都在我身上。