1、针对单容器POD的Service细节说明:
kubectl expose deployment tomcat \
--port 8080 \ 该参数必须,通过service的cluster ip进行访问的端口,这个端口可以与target-port不一致。
--target-port 8080 \ 该参数不必须,如不指定,使用--port值,endpoint的监听端口,即pod的监听端口,这个端口必须与pod内容器的实际端口匹配,否则访问,例,如tomcat采用默认端口8080,则这个值必须为8080。
--type=NodePort
2、针对多容器POD的Service细节说明:
service配置文件如下:
ports是object list
apiVersion: v1
kind: Service
metadata:
name: mulcontainer
spec:
selector:
env: test
ports:
- name: tomcat
port: 8080
- name: nginx
port: 80
type: NodePort
pod配置文件如下:
apiVersion: v1
kind: Pod
metadata:
name: mulicontainer
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
- name: tomcat
image: tomcat
3、Service补充
创建Service之后,会自动创建Endpoint,如通过yaml声明文件创建,且无selector匹配,则需要手工创建Endpoint。
网友评论