k8s----11、service

services

  • 1、概述
  • 2、存在的意义
    • [2.1 服务发现](#2.1 服务发现)
    • [2.2 负载均衡](#2.2 负载均衡)
  • 3、pod与service的关系
  • [4、service 三种类型](#4、service 三种类型)
    • [4.1 、 ClusterIP](#4.1 、 ClusterIP)
    • [4.2 、NodePort](#4.2 、NodePort)
    • [4.3 、LoadBalancer](#4.3 、LoadBalancer)

1、概述

  • Service 是 Kubernetes 最核心概念,通过创建 Service,可以为一组具有相同功能的容器应 用提供一个统一的入口地 址,并且将请求负载分发到后端的各个容器应用上。

2、存在的意义

2.1 服务发现

  • 比如前端pod需要调用后端pod,需要通过server进行查找

2.2 负载均衡

  • 一个前端pod通过service负载均衡到不同的pod上,根据pod的使用量等信息进行均衡分配

3、pod与service的关系

  • 通过label和Selector标签建立连接

4、service 三种类型

bash 复制代码
[root@master example]# kubectl expose deployment web --port=80 --target-port=80 --dry-run -o yaml > webservice.yaml   # web的pod是先创建好的,在此基础上配置service信息
[root@master example]# cat webservice.yaml 
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: web
  name: web
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: web
  type: service的三种类型      ##直接修改此处即可
status:
  loadBalancer: {}

4.1 、 ClusterIP

  • 集群内部访问。集群内部pod间互相访问

4.2 、NodePort

  • 对外访问应用时使用。比如nginx暴露时候

4.3 、LoadBalancer

  • 对外访问应用,也可以用于公有云,调用公有云中的操作。可以连接到公有云中的服务器。
相关推荐
Hadoop_Liang6 小时前
使用Kubernetes Gateway API实现域名访问应用
容器·kubernetes·gateway
java_cj8 小时前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
步步为营DotNet10 小时前
基于.NET Aspire 实现云原生应用的高效监控与可观测性
云原生·.net·wpf
源图客11 小时前
【AI向量数据库】Weaviate介绍与部署
运维·docker·容器
牛奶咖啡1312 小时前
KVM虚拟化与企业应用实践——给远端主机创建虚拟机
云原生·qemu·kvm·给远端主机创建虚拟机·创建uefi模式的虚拟机·安装openeulersp2·vnc与虚拟机环境搭建
码云骑士14 小时前
28-Docker部署Django(下)-docker-compose编排与静态文件处理
docker·容器·django
java_cj15 小时前
从kubectl学Visitor模式:如何优雅处理多态数据结构的遍历
云原生·golang·k8s·访问者模式
木雷坞15 小时前
Firecrawl Docker Compose 自托管排查:镜像、Redis、队列和 Playwright
redis·docker·容器·firecrawl
就改了15 小时前
微服务异步场景链路断裂完整解决方案
微服务·云原生·架构
whyfail16 小时前
Colima:把 Docker Desktop 从 Mac 上“瘦身”的那把刀
macos·docker·容器