Kubernetes服务未获取其外部IP地址
当我分两步(1.复制控制器;2.公开复制控制器)构建Kubernetes服务时,我公开的服务会获得一个外部IP地址:Kubernetes服务未获取其外部IP地址,kubernetes,Kubernetes,当我分两步(1.复制控制器;2.公开复制控制器)构建Kubernetes服务时,我公开的服务会获得一个外部IP地址: initially: NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE app-1 10.67.241.95 80/TCP app=app-1 7s 大约30秒后: NAME CLUSTER_IP
initially:
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
app-1 10.67.241.95 80/TCP app=app-1 7s
大约30秒后:
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
app-1 10.67.241.95 104.155.93.79 80/TCP app=app-1 35s
但是,当我一步到位,将服务
和复制控制器
提供给kubectl create-f dir_和_2_文件
时,会创建服务,但不会获得外部IP:
NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
app-1 10.67.251.171 <none> 80/TCP app=app-1 2m
对于ReplicationController:
{
"apiVersion": "v1",
"kind": "ReplicationController",
"metadata": {
"name": "app-1"
},
"spec": {
"replicas": 1,
"template": {
"metadata": {
"labels": {
"app": "app-1"
}
},
"spec": {
"containers": [
{
"name": "service",
"image": "gcr.io/sigma-cairn-99810/service:latest",
"ports": [
{
"containerPort": 8000
}
]
}
]
}
}
}
}
要手动公开服务,我使用以下命令:
kubectl expose rc app-1 --port 80 --target-port=8000 --type="LoadBalancer"
如果不指定服务的类型,则默认为ClusterIP。如果您想获得相当于
的公开
,您必须:
type=LoadBalancer
实际上,缺少
type=LoadBalancer
。谢谢
kubectl expose rc app-1 --port 80 --target-port=8000 --type="LoadBalancer"