首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Metadata获取的三种方式

    、主机名等一些信息,这就要求我们必须知道如何在应用内获取Pod的metadata,本文介绍三种应用内获取Pod的metadata的方式,供大家参考。...不管一个Pod中有一个还是多个容器,我们都需要明确指定容器的名称。利用这种方式,如果一个Pod含有多个容器,我们可以将其他容器的资源使用情况传递到另外一个容器中。 3....容器内访问 API Server 容器内访问API server需要认证,并且需要通过环境变量获取API Server的地址和端口。...地址的获取方式如下: root@curl:/# env | grep KUBERNETES_SERVICE KUBERNETES_SERVICE_PORT=443 KUBERNETES_SERVICE_HOST...有了访问API server的能力,就为我们定义容器内应用的行为提供了无限的想象力,我们可以通过curl来访问API server,同时也有很多语言的客户端库,让我们方便的在自己的应用中调用API server

    2.3K30

    【云原生|K8s系列第3篇】:实战Kubectl创建Deployment部署应用

    这将对指定的资源(如节点、容器)执行指定的操作(如创建、描述)。我们也可以在命令之后使用——help来获得关于可能参数的额外信息(kubectl get nodes——help)。...比如,可以使用curl命令curl http://localhost:8001/version直接通过API查询版本: $ curl http://localhost:8001/version {...代理仍然在第二个选项卡中运行,这允许curl命令使用localhost:8001工作。 如果无法访问端口8001,请确保上面启动的kubectl代理正在运行。...API服务器将根据pod名称自动为每个pod创建一个端点,这个端点也可以通过代理访问。...of the Pod: kubernetes-bootcamp-57978f5f5d-mhtpf 可以通过运行下面的API来访问Pod: curl http://localhost:8001/api/

    71810

    028.核心组件-API Server

    一 Kubernetes API Server原理 1.1 API Server功能 Kubernetes API Server的核心功能是提供Kubernetes各类资源对象(如Pod、RC、Service...也可通过curl直接测试和验证Kubernetes API Server所提供的接口。...注意:Kubernetes从1.11版本开始废弃Heapster监控组件,转而使用Metrics Server提供Metrics API接口,进一步完善了自身的监控能力。...访问控制层:当客户端访问API接口时,访问控制层负责对用户身份鉴权,验明用户身份,核准用户对Kubernetes资源对象的访问权限,然后根据配置的各种资源访问许可逻辑(AdmissionControl)...v1/proxy/nodes/{name}/pods/ #列出指定节点内所有Pod的信息 /api/v1/proxy/nodes/{name}/stats/ #列出指定节点内物理资源的统计信息 /api

    1.1K30

    红队视角出发的k8s敏感信息收集——日志与监控系统

    假设攻击者已经成功地将宿主机器的日志目录挂载到了Pod内,他们可以使用以下命令来读取和分析审计日志文件:读取审计日志文件cat /host/var/log/kubernetes/audit/audit.log...这些日志可能包含有关创建、更新或删除资源(如Secrets)的重要信息。使用curl命令可以直接向Elasticsearch发送请求,以检测是否存在未授权访问的情况。...如果你在一个运行在集群内的Pod中工作,可以直接使用服务名进行访问。...例如,要访问Prometheus UI,可以在Pod内执行:curl http://prometheus-svc:9090通过端口转发访问:如果需要从集群外部访问这些服务,可以使用kubectl port-forward...使用curl命令可以直接向Prometheus的API发送请求,以测试是否启用了访问控制。

    91221

    【重识云原生】第六章容器6.3.2节——API Server组件

    (图片来自 OpenShift Blog)         在实际使用中,通常通过 kubectl 来访问 apiserver,也可以通过 Kubernetes 各个语言的 client 库来访问 apiserver...# 列出指定节点内所有Pod的息 /api/v1/proxy/nodes/{name}/stats # 列出指定节点内物理资源的统计信息 /api/v1/proxy/nodes/{name}/spec...# 列出节点内运行中的Pod信息 /api/v1/proxy/nodes/{name}/debug/pprof # 列出节点内当前Web服务的状态,包括CPU占用情况和内存使用情况等 2.5.2 Pod...的相关接口         Kubernetes Proxy API里关于Pod的相关接口,通过这些接口,我们可以访问Pod里某个容器提供的服务(如Tomcat在8080端口的服务): /api/v1...看到这里,你可能明白Pod 的Proxy接口的作用和意义了:         在Kubernetes集群之外访问某个 Pod 容器的服务(HTTP服务)时,可以用Proxy API实现,这种场景多用于管理目的

    1.2K10

    Kubernetes 安全大揭秘:从攻击面剖析到纵深防御体系构建(上)

    2. kubelet滥用匿名API访问默认端口10250未启用身份认证时,攻击者可通过/pods接口获取集群所有Pod信息,或通过/exec接口在任意容器内执行命令(如CVE-2018-1002105)...防御实践网络策略精细化使用Calico NetworkPolicy实现零信任通信(如仅允许前端Pod访问后端服务的80端口)。启用Egress流量审计,阻断非常规外连(如Pod主动连接矿池地址)。...匿名访问滥用未启用RBAC若API Server启动参数包含--anonymous-auth=true且未配置RBAC,攻击者可直接通过匿名请求调用高危API,如:curl -k https://:6443.../nginx/exec # 在Pod内执行命令(需构造WebSocket请求)CVE-2020-8554(Server Side Request Forgery)攻击者通过API Server代理功能访问内网服务...-k https://:10250/pods         # 列出所有Pod信息curl -k https://:10250/exec/        # 在容器内执行命令CVE-2018-1002105

    95510

    关于 K8s中Kube-apiserver 的一些总结

    ——烽火戏诸侯《雪中悍刀行》 ---- Kubernetes API Server原理分析 「 Kubernetes API Server的核心功能是提供了Kubernetes各类资源对象(如Pod,RC...理论概述 「Kubernetes API Server通过一个名为kube-apiserver的进程提供服务,该进程运行在Master节点上,如果小伙伴使用二进制方式安装k8s,会发现,kube-apiserver...API python 要使用 Python 客户端,运行下列命令:pip install kubernete PS E:\docker> pip install kubernetes Collecting...集群内的各个功能模块通过API Server将信息存入etcd,当需要获取和操作这些数据时,则通过API Server提供的REST接口(用GET, LIST或WATCH方法)来实现,从而实现各模块之间的信息交互...各功能模块定时从API Server获取指定的资源对象信息(通过LIST及WATCH方法),然后将这些信息保存到本地缓存,功能模块在某些情况下不直接访问API Server,而是通过访问缓存数据来间接访问

    1.3K10

    【容器集群安全】一文搞定K8s集群信息收集(2)——内部信息收集

    在与Kubernetes集群进行交互时,环境变量可以提供重要的配置信息,如API服务器地址、认证令牌等。...K8s API-Server服务器并访问高权限接口,如果执行成功意味着该账号拥有高权限,可以直接利用Service Account管理K8s集群要查看当前Pod使用的Service Account的token...下面是一个示例,展示了如何使用curl命令结合获取到的token查询集群节点的信息,并检查是否具有高权限访问能力:首先,获取API Server地址:APISERVER=https://$(cat /var...print $3}')实际上,更简单的方式是直接读取service account的API server地址:APISERVER=https://kubernetes.default.svc然后,使用curl...命令访问API Server并列出所有节点及其内核版本信息:TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)curl -X

    44720

    Kubernetes云原生安全渗透学习

    Service account 关联了一套凭证,存储在 Secret,这些凭证同时被挂载到 pod 中,从而允许 pod 与 kubernetes API 之间的调用。...请求的最后一个步骤,一般用于拓展功能,如检查 pod 的resource是否配置,yaml配置的安全是否合规等。...基于角色的访问控制(RBAC)模式允许你使用 Kubernetes API 创建和存储策略。 WebHook 是一种 HTTP 回调模式,允许你使用远程 REST 端点管理鉴权。...在K8s内部集群网络主要依靠网络插件,目前使用比较多的主要是Flannel和Calico 主要存在4种类型的通信: 同一Pod内的容器间通信 各Pod彼此间通信 Pod与Service间的通信 集群外部的流量与...如果挂载到集群内的token具有创建pod的权限,可以通过token访问集群的api创建特权容器,然后通过特权容器逃逸到宿主机,从而拥有集群节点的权限 [root@hacker ~]# kubectl

    2.1K30

    【重识云原生】第六章容器6.3.7节——命令行工具kubectl

    如果三个条件都被满足,则假定在集群内进行身份验证。         为保持向后兼容性,如果在集群内身份验证期间设置了 POD_NAMESPACE 环境变量,它将覆盖服务帐户令牌中的默认命名空间。...例如,可以使用-s或-server参数指定 Kubernetes API服务器的地址和端口。 注意事项说明:         从命令行指定的参数会覆盖默认值和任何相应的环境变量。...,如果想要同时查看多个 Pod 的日志,可以使用 stern。.../ 来直接访问 Kubernetes API,比如查询 Pod 列表: curl http://localhost:8080/api/v1/namespaces/default/pods         ...2.14 原始 URI         kubectl 也可以用来直接访问原始 URI,比如要访问 Metrics API 可以: kubectl get --raw /apis/metrics.k8s.io

    1.3K10

    TeamTNT黑客组织以Kubernetes为目标,近50000个IP被攻击

    本文将讨论TeamTNT如何在野外扫描和攻击Kubernetes集群。 研究人员已经发现并确认将近50000个IP被TeamTNT在多个集群中实施的攻击所攻击。...Kubernetes kubelet的API源代码分析 加密劫持(部署到Pod中) 正如研究人员从上面的kubelet server.go代码中看到的那样,API终端/ runningpods完全按照终端所说的进行操作...首先,kube_pwn()函数以JSON格式列出了节点内当前运行的所有pod。...一种简单的检查方法是尝试从外部IP访问API服务器。这个curl请求应该用来检查API是面向公共的还是其他的“curl -k https://API-SERVER-IP:PORT/api.”。...如果有来自这个curl请求的响应,类似于图9所示的响应,那么这意味着API是公开可用的: 执行curl请求以检查API是否可公开访问后的响应示例 总结 这次活动值得注意,因为这是研究人员第一次分析TeamTNT

    95320

    前沿研究 | 容器逃逸即集群管理员?你的集群真的安全吗?

    ,如何在集群内进行权限提升呢?...4.2 ServiceAccount Pod自身在访问Kubernetes API Server时,需要使用内置的ServiceAccount(简称sa,下同)。...为此我们需要利用Operator的sa获取CRAC的ca.crt和secret值,通过以下命令可以获取,如图10所示: curl https://server-ip:port/api/v1/namespaces...正常情况下,访问Kubelet API是需要凭证,但当攻击者拥有get、create node/proxy权限时,便可以与Kubelet API直接通信,绕过API Server的访问控制,同时因为Kubelet...,如图15所示: 图15 和Kubelet API通信 利用CSR API提权 CSR即证书签名请求,Kubernetes在多处使用客户端证书进行认证,包括用于Kubelet和API Server之间的通信

    1.6K20
    领券