99 lines
1.2 KiB
Markdown
99 lines
1.2 KiB
Markdown
|
**定义Service的yaml文件**
|
||
|
|
||
|
```
|
||
|
kind: Service
|
||
|
apiVersion: v1
|
||
|
metadata:
|
||
|
name: my-service
|
||
|
spec:
|
||
|
selector:
|
||
|
app: myapp
|
||
|
ports:
|
||
|
- protocol: TCP
|
||
|
port: 80
|
||
|
targetPort: 9376
|
||
|
|
||
|
```
|
||
|
|
||
|
**无Selector的Service**
|
||
|
|
||
|
````
|
||
|
kind: Service
|
||
|
apiVersion: v1
|
||
|
metadata:
|
||
|
name: my-service
|
||
|
spec:
|
||
|
ports:
|
||
|
- protocol: TCP
|
||
|
port: 80
|
||
|
targetPort: 9376
|
||
|
---
|
||
|
kind: Endpoints
|
||
|
apiVersion: v1
|
||
|
metadata:
|
||
|
name: my-service
|
||
|
subsets:
|
||
|
- addresses:
|
||
|
- ip: 1.2.3.4
|
||
|
ports:
|
||
|
- port: 9376
|
||
|
|
||
|
````
|
||
|
|
||
|
**ExternalName Service**
|
||
|
|
||
|
````
|
||
|
kind: Service
|
||
|
apiVersion: v1
|
||
|
metadata:
|
||
|
name: my-service
|
||
|
namespace: prod
|
||
|
spec:
|
||
|
type: ExternalName
|
||
|
externalName: my.database.example.com
|
||
|
|
||
|
````
|
||
|
|
||
|
**多端口Service**
|
||
|
|
||
|
````
|
||
|
kind: Service
|
||
|
apiVersion: v1
|
||
|
metadata:
|
||
|
name: my-service
|
||
|
spec:
|
||
|
selector:
|
||
|
app: myapp
|
||
|
ports:
|
||
|
- name: http
|
||
|
protocol: TCP
|
||
|
port: 80
|
||
|
targetPort: 9376
|
||
|
- name: https
|
||
|
protocol: TCP
|
||
|
port: 443
|
||
|
targetPort: 9377
|
||
|
|
||
|
````
|
||
|
|
||
|
**NodePort**
|
||
|
|
||
|
`````
|
||
|
kind: Service
|
||
|
apiVersion: v1
|
||
|
metadata:
|
||
|
labels:
|
||
|
k8s-app: kubernetes-dashboard
|
||
|
name: kubernetes-dashboard
|
||
|
namespace: kube-system
|
||
|
spec:
|
||
|
type: NodePort
|
||
|
ports:
|
||
|
- port: 443
|
||
|
targetPort: 8443
|
||
|
nodePort: 30000
|
||
|
selector:
|
||
|
k8s-app: kubernetes-dashboard
|
||
|
`````
|
||
|
|