使用部署和LoadBalancer服务公开公开Kubernetes服务

时间:2018-12-05 05:45:00

标签: kubernetes google-kubernetes-engine

当通过声明性yaml清单创建简单的hello-world部署,并使用LoadBalancer类型的服务公开它时,一切都成功创建,但是在访问该服务的外部IP时将无法访问。

这是我正在使用的Yaml文件:

apiVersion: v1
kind: Service
metadata:
  name: my-test
  labels:
    app: my-test
spec:
  type: LoadBalancer
  ports:
  - port: 80
    targetPort: 8888
    protocol: TCP
    name: http
  # - port: 443
  #   targetPort: 8888
  #   protocol: TCP
  #   name: https
  selector:
    app: my-test
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-test
  labels:
    app: my-test
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-test
  template:
    metadata:
      labels:
        app: my-test
    spec:
      containers:
      - name: my-test
        image: gcr.io/google-samples/hello- app:2.0
        ports:
        - containerPort: 8888

我发现,如果使用运行命令创建部署,则可以通过yaml或kubectl暴露命令创建服务。我是K8的新手,所以不确定部署声明有什么问题。

使用以下命令可以正常工作

kubectl run hello-server --image gcr.io/google-samples/hello-app:1.0 --port 8080

然后我运行以下命令公开部署:

kubectl expose deployment hello-server --type LoadBalancer --port 80 --target-port 8080

有什么想法吗?

0 个答案:

没有答案