- Kubernetes 教程
- Kubernetes - 首页
- Kubernetes - 概述
- Kubernetes - 架构
- Kubernetes - 设置
- Kubernetes - 镜像
- Kubernetes - 作业
- Kubernetes - 标签与选择器
- Kubernetes - 命名空间
- Kubernetes - 节点
- Kubernetes - 服务
- Kubernetes - Pod
- Kubernetes - 复制控制器
- Kubernetes - 副本集
- Kubernetes - 部署
- Kubernetes - 卷
- Kubernetes - 密钥
- Kubernetes - 网络策略
- 高级 Kubernetes
- Kubernetes - API
- Kubernetes - Kubectl
- Kubernetes - Kubectl 命令
- Kubernetes - 创建应用
- Kubernetes - 应用部署
- Kubernetes - 自动伸缩
- Kubernetes - 仪表盘设置
- Kubernetes - 监控
- Kubernetes 有用资源
- Kubernetes - 快速指南
- Kubernetes - 有用资源
- Kubernetes - 讨论
Kubernetes - 服务
服务可以定义为 Pod 的逻辑集合。它可以定义为 Pod 之上的抽象层,提供单个 IP 地址和 DNS 名称,通过该名称可以访问 Pod。使用服务,可以很容易地管理负载均衡配置。它有助于 Pod 很容易地进行扩展。
服务是 Kubernetes 中的 REST 对象,其定义可以发布到 Kubernetes apiServer(在 Kubernetes 主节点上)以创建新实例。
无选择器的服务
apiVersion: v1 kind: Service metadata: name: Tutorial_point_service spec: ports: - port: 8080 targetPort: 31999
上述配置将创建一个名为 Tutorial_point_service 的服务。
带有选择器的服务配置文件
apiVersion: v1 kind: Service metadata: name: Tutorial_point_service spec: selector: application: "My Application" -------------------> (Selector) ports: - port: 8080 targetPort: 31999
在这个例子中,我们有一个选择器;因此,为了传输流量,我们需要手动创建一个端点。
apiVersion: v1 kind: Endpoints metadata: name: Tutorial_point_service subnets: address: "ip": "192.168.168.40" -------------------> (Selector) ports: - port: 8080
在上面的代码中,我们创建了一个端点,它将流量路由到定义为“192.168.168.40:8080”的端点。
多端口服务创建
apiVersion: v1 kind: Service metadata: name: Tutorial_point_service spec: selector: application: “My Application” -------------------> (Selector) ClusterIP: 10.3.0.12 ports: -name: http protocol: TCP port: 80 targetPort: 31999 -name:https Protocol: TCP Port: 443 targetPort: 31998
服务的类型
ClusterIP − 这有助于将服务限制在集群内。它在定义的 Kubernetes 集群内公开服务。
spec: type: NodePort ports: - port: 8080 nodePort: 31999 name: NodeportService
NodePort − 它将在部署的节点上的静态端口上公开服务。将自动创建一个 ClusterIP 服务,NodePort 服务将路由到该服务。可以使用 NodeIP:nodePort 从集群外部访问该服务。
spec: ports: - port: 8080 nodePort: 31999 name: NodeportService clusterIP: 10.20.30.40
Load Balancer − 它使用云提供商的负载均衡器。将自动创建 NodePort 和 ClusterIP 服务,外部负载均衡器将路由到这些服务。
一个完整的服务 yaml 文件,服务类型为 NodePort。尝试自己创建一个。
apiVersion: v1 kind: Service metadata: name: appname labels: k8s-app: appname spec: type: NodePort ports: - port: 8080 nodePort: 31999 name: omninginx selector: k8s-app: appname component: nginx env: env_name
广告