Docker Kubernetes暴露多个豆荚
我有一个kubernetes集群,包含来自不同图像的多个豆荚 我希望能够公开这些吊舱中的每一个,以便能够使用外部DNS记录(在集群之外)访问它们 例如: 假设我有3个pod(pod1、pod2、pod3),我希望能够通过以下方式从集群外部访问它们: 有办法吗Docker Kubernetes暴露多个豆荚,docker,dns,kubernetes,containers,Docker,Dns,Kubernetes,Containers,我有一个kubernetes集群,包含来自不同图像的多个豆荚 我希望能够公开这些吊舱中的每一个,以便能够使用外部DNS记录(在集群之外)访问它们 例如: 假设我有3个pod(pod1、pod2、pod3),我希望能够通过以下方式从集群外部访问它们: 有办法吗 感谢外部dns()就是为了实现这一点而设计的,您可以用您想要提供的dns名称对您的服务进行注释,外部dns会为您创建相关的dns条目 externaldns()就是为了实现这一点而设计的,您可以使用您想要提供的dns名称对您的服务进行
感谢外部dns()就是为了实现这一点而设计的,您可以用您想要提供的dns名称对您的服务进行注释,外部dns会为您创建相关的dns条目 externaldns()就是为了实现这一点而设计的,您可以使用您想要提供的dns名称对您的服务进行注释,然后外部dns为您创建相关的dns条目 在AWS中,您可以使用ELB轻松公开吊舱-Kubernetes可以自动为您创建合适的ELB。这意味着Kubernetes生成ELB,然后使用节点端口将其连接到适当的服务。当ELBs就位后,您可以使用GarMan提供的外部dns插件,该插件可以使用AWS Route53集成将dns记录附加到这些ELBs。因此,您需要:
apiVersion: v1
kind: Service
metadata:
name: public-pod1
namespace: your-deployment
labels:
app: pod1
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
external-dns.alpha.kubernetes.io/hostname: pod1.mydomain.com.
spec:
type: LoadBalancer
loadBalancerSourceRanges:
- 0.0.0.0/0 # Ingress SG for your ELB
ports:
- port: 80
protocol: TCP
targetPort: 80 #That should match your app's port
selector:
app: pod1
在AWS中,您可以使用ELB轻松地公开吊舱-Kubernetes可以自动为您创建合适的ELB。这意味着Kubernetes生成ELB,然后使用节点端口将其连接到适当的服务。当ELBs就位后,您可以使用GarMan提供的外部dns插件,该插件可以使用AWS Route53集成将dns记录附加到这些ELBs。因此,您需要:
apiVersion: v1
kind: Service
metadata:
name: public-pod1
namespace: your-deployment
labels:
app: pod1
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
external-dns.alpha.kubernetes.io/hostname: pod1.mydomain.com.
spec:
type: LoadBalancer
loadBalancerSourceRanges:
- 0.0.0.0/0 # Ingress SG for your ELB
ports:
- port: 80
protocol: TCP
targetPort: 80 #That should match your app's port
selector:
app: pod1
你是在云端还是在prem kubernetes部署中?我在使用AWS。如果有必要,我可以自己添加DNS记录。您是在云中还是在prem kubernetes部署中?我正在使用AWS。如果有必要,我可以自己添加DNS记录。