Kubernetes :在 VPN 内部公开服务
Kubernetes : Expose service internally within VPN
我已经使用 kops 创建了 kubernetes 集群
kops create cluster \
--dns-zone=vpc.abc.in \
--master-zones=ap-southeast-1a,ap-southeast-1b,ap-southeast-1c \
--zones=ap-southeast-1a,ap-southeast-1b,ap-southeast-1c \
--node-count 3 \
--topology private \
--networking flannel-vxlan \
--node-size=t2.medium \
--master-size=t2.micro \
${NAME}
我正在使用私有拓扑和内部负载均衡器。
每当我创建 type=LoadBalancer 的服务时,它都会创建一个面向 ELB 的 public 并且 url 可以访问 publically。
我想部署 Elastic Search 和 kibana 并使其仅在 VPN 内部可用。我们已经设置了 VPN。
如何在 VPN 内访问服务?
将以下注释添加到您的服务定义中:
service.beta.kubernetes.io/aws-load-balancer-internal: '"true"'
完整示例:
kind: Service
apiVersion: v1
metadata:
name: my-service
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: '"true"'
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
type: LoadBalancer
这将提供内部 ELB 而不是外部。
我已经使用 kops 创建了 kubernetes 集群
kops create cluster \
--dns-zone=vpc.abc.in \
--master-zones=ap-southeast-1a,ap-southeast-1b,ap-southeast-1c \
--zones=ap-southeast-1a,ap-southeast-1b,ap-southeast-1c \
--node-count 3 \
--topology private \
--networking flannel-vxlan \
--node-size=t2.medium \
--master-size=t2.micro \
${NAME}
我正在使用私有拓扑和内部负载均衡器。
每当我创建 type=LoadBalancer 的服务时,它都会创建一个面向 ELB 的 public 并且 url 可以访问 publically。
我想部署 Elastic Search 和 kibana 并使其仅在 VPN 内部可用。我们已经设置了 VPN。
如何在 VPN 内访问服务?
将以下注释添加到您的服务定义中:
service.beta.kubernetes.io/aws-load-balancer-internal: '"true"'
完整示例:
kind: Service
apiVersion: v1
metadata:
name: my-service
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: '"true"'
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
type: LoadBalancer
这将提供内部 ELB 而不是外部。