正常情况下,k8s的clusterip在部署集群的linux 中可以访问吗
时间: 2024-09-20 07:10:27 浏览: 38
kubernetes(k8s)内部署ambry,es,mongodb,mysql,orientdb,rocketmq集群模式的方法
ClusterIP默认是只对内部Kubernetes网络可达的,它不是一个可以直接从宿主机或其他外部网络访问的IP地址[^1]。要使ClusterIP可以从宿主机或外部网络访问,通常需要配置NodePort或LoadBalancer服务类型。
1. NodePort服务:
创建一个NodePort服务,会暴露应用的一个端口映射到节点的某个端口上,这样可以通过宿主机的特定端口来访问服务:
```yaml
apiVersion: v1
kind: Service
metadata:
name: my-etcd-service
labels:
app: etcd
spec:
type: NodePort
ports:
- port: 2379
targetPort: 2379
nodePort: 30001
selector:
app: etcd
```
2. LoadBalancer服务(如果在支持的环境):
对于AWS、GCP等支持外网负载均衡的平台,可以选择LoadBalancer类型的服务,创建后会分配一个公网IP,可以直接通过这个IP访问服务。
因此,正常情况下,仅凭ClusterIP无法从宿主机访问,需要额外配置才能实现外部访问。
阅读全文