【后端】k8s

1. 命令

1.1 获取service服务

  • 获取集群内所有命名空间 的service服务
    sudo kubectl get service --all-namespaces

  • 获取集群内指定 命名空间的service服务
    sudo kubectl get service -n命名空间

  • 当权限限制到一个命名空间 时,只能使用下面这个
    sudo kubectl -n 命名空间 get service

  • 获取集群内当前 命名空间的service服务
    sudo kubectl get service

1.2 获取pod节点

  • 获取集群所有命名空间 的pod
    sudo kubectl get pod --all-namespaces

  • 获取集群内指定 命名空间的pod
    sudo kubectl get pod -n命名空间

  • 当权限限制到一个命名空间 时,只能使用下面这个
    sudo kubectl -n 命名空间 get pod

  • 获取集群内当前 命名空间的pod
    sudo kubectl get pod

1.3 网络

在Kubernetes中,通过Ingress 资源和直接通过 http://servicename.namespace.svc.cluster.local 访问服务(Service)的方式虽然都涉及到服务名(serviceName),但它们的使用场景和目的有所不同,因此不完全等同。
Ingress 资源
Ingress 是 Kubernetes 中的一个 API 对象,它允许你将外部 HTTP(S) 流量路由到你的集群中。Ingress 控制器负责实现这个路由,具体实现方式可能依赖于你的集群配置(例如 Nginx, Traefik, Istio 等)。在 Ingress 资源中,serviceName 字段用于指定将流量路由到的后端服务 的名称。这个 serviceName 指的是 Kubernetes 内部的服务(Service)名称,而不是外部域名或URL。
直接通过 Cluster DNS 访问服务

在 Kubernetes 集群中,每个服务(Service)都会被分配一个集群内部的 DNS 名称,格式为 servicename.namespace.svc.cluster.local。集群中的 Pod 可以通过这个 DNS 名称直接访问服务。这种方式不依赖于 Ingress,它主要用于集群内部的服务发现和通信。

1.4 复制文件

shell 复制代码
##当权限限制命名空间
sudo kubectl -n 命名空间 cp pod-name:/usr/local/logs/error.log  ./error.log

1.5 查看容器日志

shell 复制代码
##当权限限制命名空间
sudo kubectl -n 命名空间 logs -f pod-name #滚动输出 (有点问题)
sudo kubectl -n 命名空间 logs --tail 10 pod-name #查看最后10行
相关推荐
zhang98800006 小时前
K8S能部署大数据集群吗?为什么?K8S的HPA功能可以作为大数据处理消息积压的问题(Kafka的分区)
大数据·kafka·kubernetes
菜萝卜子7 小时前
【docker】namespace底层机制
运维·docker·容器
zkyqss7 小时前
Kubernetes 1.29升级至1.31版本笔记
笔记·云原生·kubernetes
阿里云云原生8 小时前
三句话生成 P5.js 粒子特效代码,人人都可以做交互式数字艺术
云原生
雪下的那么认真10 小时前
Docker 搭建 Gitlab 服务器 (完整详细版)
容器
CloudWeGo11 小时前
2025年,微服务架构和大模型能“玩出”什么新花样?
微服务·云原生·llm
容器魔方12 小时前
「挚文集团」正式加入 Karmada 用户组!携手社区共建多集群生态
云原生·容器·云计算
阿里云云原生12 小时前
使用 Apache Dubbo 释放 DeepSeek R1 的全部潜力
云原生·dubbo
+72014 小时前
Eureka、ZooKeeper 和 Nacos 之间的对比
zookeeper·云原生·eureka