扫码一下
查看教程更方便
服务可以定义为一组逻辑上的 pod。 它可以被定义为 pod 顶部的抽象,它提供了一个可以访问 pod 的 ip 地址和 dns 名称。 使用 service,管理负载均衡配置非常容易。 它可以帮助 pod 轻松扩展。
服务是 kubernetes 中的一个 rest 对象,其定义可以发布到 kubernetes 主服务器上的 kubernetes apiserver 以创建新实例。
apiversion: v1
kind: service
metadata:
name: jiyik_point_service
spec:
ports:
- port: 8080
targetport: 31999
上述配置将创建一个名为 jiyik_point_service
的服务。
apiversion: v1
kind: service
metadata:
name: jiyik_point_service
spec:
selector:
application: "my application" -------------------> (selector)
ports:
- port: 8080
targetport: 31999
在这个例子中,我们有一个选择器; 所以为了传输流量,我们需要手动创建一个端点。
apiversion: v1
kind: endpoints
metadata:
name: jiyik_point_service
subnets:
address:
"ip": "192.168.168.40" -------------------> (selector)
ports:
- port: 8080
在上面的代码中,我们创建了一个端点,它将流量路由到定义为“192.168.168.40:8080”的端点。
apiversion: v1
kind: service
metadata:
name: jiyik_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 - 它将在已部署节点的静态端口上公开服务。 将自动创建 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