Kubernetes部署未公开

时间:2018-12-04 15:23:23

标签: docker kubernetes yaml

由于某些原因,此特定部署不会将其服务公开给外界。我很确定我的语法是可以的,因为我仅使用TCP将一组相似的文件用于部署。我怀疑同时拥有TCP和UDP都会引起问题。奇怪的是,如果我在其中一个工作程序中手动运行docker,它会起作用:

 docker run -p 27015:27015 -p 27015:27015/udp -e STEAM_ACCOUNT_TOKEN=XXXXXXXXXXXXXXXXXX grido/csgo-edge

Service.yaml

apiVersion: v1
kind: Service
metadata:
  name: csgo200
spec:
  selector:
    app: csgo200
  type: NodePort
  ports:
  - name: udpcsgo1
    port: 27015
    protocol: UDP
  - name: tcpcsgo1
    port: 27015
    protocol: TCP

deployment.yaml

apiVersion: apps/v1 # for versions before 1.9.0 use 
apps/v1beta2
kind: Deployment
metadata:
  name: csgo200
spec:
  selector:
    matchLabels:
      app: csgo200
  replicas: 1 
  template:
    metadata:
      labels:
        app: csgo200
    spec:
  containers:
  - name: csgo200
    image: grido/csgo-edge
    ports:
    - name: tcpcsgo200
      containerPort: 27015
      protocol: TCP
    - name: udpcsgo200
      containerPort: 27015
      protocol: UDP
    env:
    - name: STEAM_ACCOUNT_TOKEN
      value: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

[root @ master〜]#kubectl描述svc csgo200

Name:                     csgo200
Namespace:                default
Labels:                   <none>
Annotations:              kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"Service","metadata": 
{"annotations":{},"name":"csgo200","namespace":"default"},"spec":{"ports": 
[{"name":"udpcsgo...
Selector:                 app=csgo200
Type:                     NodePort
IP:                       10.97.122.32
Port:                     udpcsgo1  27015/UDP
TargetPort:               27015/UDP
NodePort:                 udpcsgo1  31314/UDP
Endpoints:                192.168.1.37:27015
Port:                     tcpcsgo1  27015/TCP
TargetPort:               27015/TCP
NodePort:                 tcpcsgo1  31314/TCP
Endpoints:                192.168.1.37:27015
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

1 个答案:

答案 0 :(得分:1)

您的服务类型被声明为NodePort,这使您的服务在节点上可用。选中service types,我建议使用LoadBalancer类型