k8s~ExternalName的使用
在Kubernetes中,Service資源的type字段有多種選項,其中之一是ExternalName。ExternalName類型的服務用于將外部服務引入到Kubernetes集群中,通常會將外部服務的域名映射到Kubernetes集群中的一個DNS名稱。
ExternalName服務類型不涉及端口映射或負載均衡。它只是一個DNS別名,將Kubernetes內部的服務名稱映射到一個外部域名,而不更改端口號。這對于需要在Kubernetes集群內部引用外部服務的情況非常有用,但它不涉及端口的映射。
這是一個示例ExternalName服務的YAML配置:
apiVersion: v1
kind: Service
metadata:
name: my-external-service
spec:
type: ExternalName
externalName: example.com # 這里是外部域名
在這個示例中,my-external-service是一個ExternalName服務,它將example.com映射到Kubernetes集群中,但沒有更改端口。你可以在Kubernetes內部使用my-external-service來訪問example.com,但端口將保持不變。如果外部服務使用非標準端口,你可能需要在訪問時明確指定端口號。
要支持域名和端口的形式,你需要考慮使用其他服務類型,例如NodePort或LoadBalancer,它們可以通過端口映射和負載均衡來處理外部服務的訪問。
解析到example.com的8080端口
如果外部服務的端口不是標準的80端口,你可以在Service配置中使用端口字段來指定端口號。以下是一個示例,演示如何指定非80端口的ExternalName服務:
apiVersion: v1
kind: Service
metadata:
name: my-external-service
spec:
type: ExternalName
externalName: example.com # 這里是外部域名
ports:
- name: http
port: 8080 # 這里是外部服務的端口號
浙公網安備 33010602011771號