创建集群

创建集群

我跟着 留言簿教程从 Google 上下载并创建了自己的配置文件。所以农场一切正常。现在,我想从我的 Web 服务器 Pod 中公开端口 80 和 443。我知道如何在控制器配置文件中执行此操作(见下文),但不知道如何在服务配置文件中执行此操作。请问有什么线索可以指导我吗?

这是我的控制器配置文件:

{
  "id": "webservers-controller",
  "kind": "ReplicationController",
  "apiVersion": "v1beta1",
  "desiredState": {
    "replicas": 3,
    "replicaSelector": {"name": "webservers"},
    "podTemplate": {
      "desiredState": {
        "manifest": {
          "version": "v1beta1",
          "id": "webservers-controller",
          "containers": [{
            "name": "webservers",
            "image":"gcr.io/myapp/webservers:latest",
            "ports": [
              {"name": "http-server", "containerPort": 80},
              {"name": "https-server", "containerPort": 443}
            ]
          }]
        }
      },
      "labels": { "name": "webservers" }
    }
  },
  "labels": {"name": "webservers"}
}

这是我的服务配置文件:

{
  "id": "webservers",
  "kind": "Service",
  "apiVersion": "v1beta1",
  "port": 80,
  "containerPort": "http-server",
  "selector": { "name": "webservers" },
  "labels": { "name": "webservers" },
  "createExternalLoadBalancer": true
}

这是我设置负载均衡器时执行的命令:

创建集群

gcloud alpha container clusters create webservers --machine-type n1-standard-2

创建控制器

gcloud alpha container kubectl create -f webservers-controller.json

创建服务(负载均衡器)

gcloud alpha container kubectl create -f webservers-service.json

打开端口 80

gcloud compute firewall-rules create webservers-node-80 --allow=tcp:80 --target-tags k8s-webservers-node

打开端口 443

gcloud compute firewall-rules create webservers-node-443 --allow=tcp:443 --target-tags k8s-webservers-node

显示 lb IP

gcloud compute forwarding-rules list

创建健康检查

gcloud compute http-health-checks create webservers-80
gcloud compute target-pools add-health-checks k8s-webservers-default-webservers --http-health-check webservers-80 --region europe-west1

你知道如何在负载均衡器上公开 443 端口吗?谢谢

答案1

这在 v1beta1 中是不可能的。要公开多个端口,您必须使用 v1beta3:

https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/v1beta3/types.go#L879

据我所知它将在 v0.15 中发布

公共关系:https://github.com/GoogleCloudPlatform/kubernetes/pull/6182

相关内容