Kubernetes(K8S) 服务
-
Kubernetes 服务
可以将服务定义为Pod的逻辑集合。可以将其定义为Pod顶部的抽象,它提供了可以访问Pod的单个IP地址和DNS名称。使用Service,可以非常轻松地管理负载平衡配置。它可以帮助吊舱非常轻松地扩展。服务是Kubernetes中的REST对象,其定义可以发布到Kubernetes主服务器上的Kubernetes apiServer上以创建新实例。 -
无选择器服务
apiVersion: v1 kind: Service metadata: name: Jc2182_service spec: ports: - port: 8080 targetPort: 31999
上面的配置将创建一个名称为Jc2182_service的服务。 -
带选择器的服务配置文件
apiVersion: v1 kind: Service metadata: name: Jc2182_service spec: selector: application: "My Application" -------------------> (Selector) ports: - port: 8080 targetPort: 31999
在这个例子中,我们有一个选择器。因此,为了传输流量,我们需要手动创建一个端点。apiVersion: v1 kind: Endpoints metadata: name: Jc2182_service subnets: address: "ip": "192.168.168.40" -------------------> (Selector) ports: - port: 8080
在上面的代码中,我们创建了一个端点,该端点会将流量路由到定义为“ 192.168.168.40:8080”的端点。 -
多端口服务创建
apiVersion: v1 kind: Service metadata: name: Jc2182_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-它将在已部署节点的静态端口上公开服务。NodePort服务将路由到的ClusterIP服务将自动创建。可以使用 NodeIP:nodePort 从群集外部访问该服务。spec: ports: - port: 8080 nodePort: 31999 name: NodeportService clusterIP: 10.20.30.40
负载均衡器-它使用云提供商的负载均衡器。NodePort和ClusterIP服务是自动创建的,外部负载均衡器将路由到该服务。完整服务yaml文件,服务类型为“节点端口”。尝试自己创造一个。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