1. 9.1 Service介绍和管理

1.1.1. 创建Service

继续我们Nginx的案例,我们为之前的应用创建一个Service

[root@linux-node1 ~]# cat nginx-service.yaml 
kind: Service
apiVersion: v1
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  • 第1行:定义资源类型为Service
  • 第2行:定义当前Service API的版本
  • 第3行:metadata设置
  • 第4行:设置Service的名称为nginx-service
  • 第5行:spec: 开始设置Service的内容
  • 第6行:selector: 为该Service指定一个匹配的标签
  • 第7行:app: nginx 所有带有标签app :nginx的Pod将使用该Service
  • 第8行:ports: 指定Service需要对外的端口
  • 第9行:设置端口协议:支持TCP和UDP
  • 第10行:设置Service的端口
  • 第11行:设置Pod的端口,Kubernetes会将发送给Service端口的连接,转发到Pod的端口上。

创建Nginx Service

[root@linux-node1 ~]# kubectl create -f nginx-service.yaml 
service "nginx-service" created

查看Nginx Service

[root@linux-node1 ~]# kubectl get service
NAME            TYPE        CLUSTER-IP    EXTERNAL-IP   PORT(S)   AGE
kubernetes      ClusterIP   10.1.0.1      <none>        443/TCP   7h
nginx-service   ClusterIP   10.1.184.53   <none>        80/TCP    25s

访问Servce IP

[root@linux-node1 ~]# curl --head 10.1.181.45
HTTP/1.1 200 OK
Server: nginx/1.11.10
Date: Tue, 21 Feb 2017 08:20:42 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 14 Feb 2017 15:36:04 GMT
Connection: keep-alive
ETag: "58a323e4-264"
Accept-Ranges: bytes
Copyright © 赵班长@新运维社区 2019 all right reserved,powered by Gitbook该文件修订时间: 2024-06-18 22:25:30

results matching ""

    No results matching ""