问题标签 [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 API 资源和子资源的列表?
我正在尝试以尽可能少的许可方式配置 Kubernetes RBAC,并且我想将我的角色范围限定为特定的资源和子资源。我浏览了文档,找不到资源及其子资源的简明列表。
我对管理部署规范的一部分的子资源特别感兴趣——容器映像。
kubernetes - kubernetes kubesrpay 配置 - 禁用不安全端口并将 kube_api_anonymous_auth 设置为 false
默认情况下 kubespray 集群配置有。
我们正在寻找禁用不安全端口 (kube_apiserver_insecure_port) 和 kube_api_anonymous_auth 两者。
这是 kuberspray 安装的限制吗?安装后可以吗?我们如何配置相同的后期安装?
kubernetes - Kubernetes集群过期后重新部署证书
我的 kubernetes 中的证书已过期。重新部署证书的步骤是什么。重新部署后 pod 的运行状况受到影响。我该如何克服这个?
kubernetes - 如何在 kube-apiserver 中设置审计策略?
我一直在阅读有关如何在 kubernetes 中设置审计的信息,它基本上说为了启用审计,我必须在启动 kube-apiserver 时使用 flag 指定一个 yaml 策略文件--audit-policy-file
。
现在,关于如何实现这一点,我有两件事不明白:
- 添加/更新运行 kube-apiserver 的命令的启动参数的正确方法是什么?我无法更新 pod,所以我需要以某种方式克隆 pod 吗?或者我应该
kops edit cluster
按照这里的建议使用:https ://github.com/kubernetes/kops/blob/master/docs/cluster_spec.md#kubeapiserver 。令人惊讶的是,kubernetes 没有为此创建部署,我应该自己创建吗? - 特别是要设置审核,我必须将 yaml 文件作为启动参数传递。如何上传/使此 yaml 文件可用以制作
--audit-policy-file=/some/path/my-audit-file.yaml
. 我是否使用它和/或卷创建 configMap?之后如何引用此文件,以便在运行 kube-apiserver 启动命令时在文件系统中可用?
谢谢!
kubernetes - kubernetes PodSecurityPolicy 设置为 runAsNonRoot,容器有 runAsNonRoot 并且镜像有非数字用户(appuser),无法验证用户是非 root
kubernetes PodSecurityPolicy 设置为 runAsNonRoot,Pod 未启动后出现错误错误:容器已 runAsNonRoot 并且图像具有非数字用户(appuser),无法验证用户是非 root
我们正在 docker 容器中创建用户 (appuser) uid -> 999 和组 (appgroup) gid -> 999,并且我们正在使用该用户启动容器。
但是创建的 pod 会抛出错误。
kubernetes - 在 kubeadm 集群上配置 PodSecurityPolicy
我尝试使用 kubeadm 在安装在 ubuntu 16.04 上的 1.10.1 集群上设置 PodSecurityPolicy,并按照https://kubernetes.io/docs/concepts/policy/pod-security-policy/上的说明进行操作
/etc/kubernetes/manifests/kube-apiserver.yaml
所以我在添加",PodSecurityPolicy"
到--admission-control
arg时更改了主服务器上的 apiserver 清单
当我这样做并运行kubectl get pods -n kube-system
api-server 时,没有列出,显然我已经设法命中了一个正在运行的 apiserver 实例,因为我得到了 kube-system 命名空间中所有其他 pod 的列表
我可以看到已经使用 PodSecurityPolicy 准入控制器启动了一个新的 docker 容器,它显然正在为 kubectl 请求提供服务
当我检查 kubelet 日志时,journalctl -u kubelet
我可以看到
Apr 15 18:14:23 pmcgrath-k8s-3-master kubelet[993]: E0415 18:14:23.087361 993 kubelet.go:1617] Failed creating a mirror pod for "kube-apiserver-pmcgrath-k8s-3-master_kube-system(46dbb13cd345f9fbb9e18e2229e2e
dd1)": pods "kube-apiserver-pmcgrath-k8s-3-master" is forbidden: unable to validate against any pod security policy: []
我已经添加了一个特权 PSP 并创建了一个集群角色和绑定并确认 PSP 正在工作
只是不确定为什么 apiserver kubelet 会出现此错误,因此不会出现在 pod 列表中,会认为 kubelet 创建了这个 pod,但不确定我是否必须为 apiserver、控制器管理器、调度程序和 kube-创建角色绑定- dns
没有说明如何处理这个问题的文档,我认为这是先有鸡还是先有蛋的情况,我必须引导集群,添加一些 PSP、ClusterRoles 和 ClusterRolebindings,然后才能改变 api 服务器的准入控制参数
有人有同样的问题或对此有任何指示吗?
谢谢帕特
kubernetes - 有没有办法将 Kubernetes 秘密值放在 yaml 文件的 args 字段中
我有一个 kubernetes yaml 部署文件,它接受 db 用户名和密码作为参数,如下所示。
为了隐藏 db_username 和 db_password 的值,我想到了使用 kubernetes secret kind。但要实现这一点,我必须将 db_username 和 db_password 作为环境变量,以便我可以使用它,如下所示:
有什么方法可以在 args 本身中使用秘密,这样我就不必使用第二种方法。
kubernetes - Kubenates RunAsUser 被禁止
当我尝试使用非 root fsgroup(此处为 2000)创建一个 pod
击中错误
版本
任何人都可以帮助我如何在集群中设置 ClusterRoleBinding。
kubernetes - kubectl 端口转发是否加密?
在运行“kubectl port-forward”命令时,我找不到任何关于集群的 pod 和 locahost 之间的连接创建在何处被加密的任何信息。
它似乎使用了支持加密的“ socat ”库,但我不确定 kubernetes 是否真的使用它。
kubernetes - 解密 kubernetes master api 调用
团队,我在笔记本电脑上运行 kubectl 并捕获了相同的 Wireshark 跟踪。如何解密访问 api 服务器的流量?
例如:我们使用 Web 服务器的私钥解密 http 调用。在 k8s 世界中,我将如何解密对集群的调用?对此很陌生,所以需要了解。