我試圖設置以下環境中的谷歌雲和有3個主要問題是:集羣通信和谷歌集裝箱防火牆引擎
數據庫集羣
- 3個節點
- 一個口通向世界,通向計算集羣的幾個港口
計算羣集 - 5節點 - COMMUNIC ated與數據庫集羣 - 兩個端口向世界開放 - 運行Docker容器
一)數據庫集羣運行正常,我也開到世界上配置端口,但我不知道如何限制其他端口僅限於計算集羣?
我設法拿到了第一莢和複製 - 控制器的計算集羣上運行,並且創建了一個服務,打開容器,以世界:
控制器:
{
"id": "api-controller",
"kind": "ReplicationController",
"apiVersion": "v1beta1",
"desiredState": {
"replicas": 2,
"replicaSelector": {
"name": "api"
},
"podTemplate": {
"desiredState": {
"manifest": {
"version": "v1beta1",
"id": "apiController",
"containers": [{
"name": "api",
"image": "gcr.io/my/api",
"ports": [{
"name": "api",
"containerPort": 3000
}]
}]
}
},
"labels": {
"name": "api"
}
}
}
}
服務:
{
"id": "api-service",
"kind": "Service",
"apiVersion": "v1beta1",
"selector": {
"name": "api"
},
"containerPort": "api",
"protocol": "TCP",
"port": 80,
"selector": { "name": "api" },
"createExternalLoadBalancer": true
}
b)該容器暴露端口3000,服務端口80.兩者之間的連接在哪裏?
防火牆使用標籤。我希望4-5個不同的豆莢在我的計算集羣中運行,其中2個豆莢向世界開放端口。可以有兩個或更多的容器在同一個實例上運行。然而,標籤是特定於節點的,而不是容器。
c)我是否使用相同的防火牆配置公開所有節點?我不能將標籤分配給容器,因此不知道如何公開api服務,例如?
您是否有理由運行兩個集羣?在資源限制的同一羣集中運行它們似乎更容易,而且不必過多擔心網絡。 –
我需要不同的機器時間(數據庫大,服務中/小),Container Engine沒有這個功能。 – Patrick
我只是使用大尺寸的集羣並運行該集羣中的所有內容(根據我的回答),因爲這是最簡單的方法。 –