gpt4 book ai didi

kubernetes - 如何等到分配 EXTERNAL-IP?

转载 作者:行者123 更新时间:2023-12-05 01:31:34 25 4
gpt4 key购买 nike

当我部署 https://projectcontour.io/ 时我的 Digital Ocean K8S 集群上的入口 Controller ,会自动创建一个负载均衡器。

我考虑使用 Ansible 作为 K8S 的管理工具来自动化部署。

完成以下任务后:

- name: retrieve file
get_url:
url: https://projectcontour.io/quickstart/contour.yaml
dest: /testing/contour.yaml
register: download_contour

- name: create deployment
k8s:
src: /testing/deployment.yml
when: download_contour.changed

我想等到 contour 获得分配的 EXTERNAL-IP 地址,然后继续其他任务。这是我本地计算机上的示例:

kubectl get -n projectcontour service envoy -o wide                                                                       
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
envoy LoadBalancer 10.96.226.84 172.18.255.200 80:31092/TCP,443:30362/TCP 2d15h app=envoy

如何等待 envoy LoadBalancer 获得在 Ansible 中分配的 EXTERNAL-IP 地址?

最佳答案

我还没有测试过,但我认为你可以尝试做这样的事情:

- shell: if [[ $(kubectl get services envoy -n projectcontour --output jsonpath='{.status.loadBalancer.ingress[0]}') ]]; then exit 0; else exit 1; fi;
register: wait_for_ext_ip
until: wait_for_ext_ip.rc == 0
retries: 10
delay: 5

关于kubernetes - 如何等到分配 EXTERNAL-IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66102083/

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