gpt4 book ai didi

kubernetes - 如何使用 consul 在 kubernetes 中公开应用程序

转载 作者:行者123 更新时间:2023-12-02 11:44:03 24 4
gpt4 key购买 nike

我们已经在 k8 集群上通过 helm charts 安装了 consul。这里我部署了一台consul server,其余都是consul agent。

kubectl get pods
NAME READY STATUS RESTARTS AGE
consul-7csp9 1/1 Running 0 4h
consul-connect-injector-webhook-deployment-66d46867f6-wqtt7 1/1 Running 0 4h
consul-server-0 1/1 Running 0 4h
consul-sync-catalog-85f5654b89-9qblx 1/1 Running 0 4h
consul-x4mqq 1/1 Running 0 4h

我们看到节点已注册到 Consul 服务器上。 http://XX.XX.XX.XX/ui/kube/nodes

我们已经在 k8 集群上部署了一个 hello world 应用程序。这将调出 Hello-World

kubectl get pods
NAME READY STATUS RESTARTS AGE
consul-7csp9 1/1 Running 0 4h
consul-connect-injector-webhook-deployment-66d46867f6-wqtt7 1/1 Running 0 4h
consul-server-0 1/1 Running 0 4h
consul-sync-catalog-85f5654b89-9qblx 1/1 Running 0 4h
consul-x4mqq 1/1 Running 0 4h
sampleapp-69bf9f84-ms55k 2/2 Running 0 4h

下面是yaml文件。

apiVersion: apps/v1
kind: Deployment
metadata:
name: sampleapp
spec:
replicas: 1
selector:
matchLabels:
app: sampleapp
template:
metadata:
labels:
app: sampleapp
annotations:
"consul.hashicorp.com/connect-inject": "true"
spec:
containers:
- name: sampleapp
image: "docker-dev-repo.aws.com/sampleapp-java/helloworld-service:a8c9f65-65"
ports:
- containerPort: 8080
name: http

成功部署sampleapp,我看到sampleapp-proxy在consul中注册了。 sampleapp-proxy 列在 kubernetes 服务中。 (这是因为 toConsul 和 toK8S 在安装过程中被传递为 true)

kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
consul ExternalName <none> consul.service.test <none> 4h
consul-connect-injector-svc ClusterIP XX.XX.XX.XX <none> 443/TCP 4h
consul-dns ClusterIP XX.XX.XX.XX <none> 53/TCP,53/UDP 4h
consul-server ClusterIP None <none> 8500/TCP,8301/TCP,8301/UDP,8302/TCP,8302/UDP,8300/TCP,8600/TCP,8600/UDP 4h
consul-ui LoadBalancer XX.XX.XX.XX XX.XX.XX.XX 80:32648/TCP 4h
dns-test-proxy ExternalName <none> dns-test-proxy.service.test <none> 2h
fluentd-gcp-proxy ExternalName <none> fluentd-gcp-proxy.service.test <none> 33m
kubernetes ClusterIP XX.XX.XX.XX <none> 443/TCP 5d
sampleapp-proxy ExternalName <none> sampleapp-proxy.service.test <none> 4h

如何访问我的示例应用程序?我应该再次将我的应用程序公开为 kube 服务吗?

早些时候,在没有 consul 的情况下,我们使用了为示例应用程序创建服务并将该服务公开为入口。使用 Ingress Loadbalancer,我们过去常常访问我们的应用程序。

最佳答案

Consul 没有提供任何新的方式来公开你的应用程序。您需要像以前一样创建入口负载均衡器。

关于kubernetes - 如何使用 consul 在 kubernetes 中公开应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53814037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com