最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在k8s中副本使用pod的IP注冊(cè)到consul全過程

 更新時(shí)間:2026年02月25日 09:51:35   作者:October-  
文章介紹了如何在Kubernetes環(huán)境中通過DNS獲取POD的IP,并將其用于注冊(cè)到Consul,通過修改服務(wù)啟動(dòng)腳本和Kubernetes樣本文件,使得微服務(wù)能夠獲取POD信息并使用該IP注冊(cè)到Consul,從而實(shí)現(xiàn)服務(wù)間的發(fā)現(xiàn)和通信

前提條件: consul 部署在k8s 的節(jié)點(diǎn)上

1、通過DNS獲取POD的IP

1.1、服務(wù)啟動(dòng)腳本

#!/bin/bash
# 啟動(dòng)服務(wù),獲得pod中的IP,POD中的hosts配置最后一行就是它自己的IP
export HOST_IP=$(tail -n 1 /etc/hosts|awk 'END {print}'| awk '{for(i =1; i <=NF; i++){ if($i~/[0-9]\.[0-9]/) print $i}}')
echo ${HOST_IP}
#通過環(huán)境變量傳遞給微服務(wù)
java -jar -DHOST_IP=${HOST_IP} /opt/service/sample/sample-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

1.2、微服務(wù)修改配置

spring:
  application:
    name: sample
  cloud:
    consul:
      host: ${consul_host:10.0.10.110}
      port: ${consul_port:8500}
      discovery:
        register: true
        service-name: ${spring.application.name}
        health-check-path: /actuator/health
        healthCheckInterval: 10s
        tags: urlprefix-/${spring.application.name}
        instance-id: {spring.application.instance_id:${random.value}}}
        health-check-critical-timeout: 30s
        hostname: ${HOST_IP}

2、在K8S的樣本文件通過env獲取 POD信息

參考:https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/

2.1、樣本文件修改

…………
        env:
        - name: CONSUL_HOST
          value: 10.0.10.110
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
………….

2.2、檢查環(huán)境變量是否生效

[root@kvm13-pre ~]# kubectl exec -it sample-6f7fcd5567-9sxl9 -n lenovo /bin/bash
root@sample-6f7fcd5567-9sxl9:/opt/service/sample# echo $POD_IP
10.244.3.94
root@sample-6f7fcd5567-9sxl9:/opt/service/sample#

2.3、服務(wù)啟動(dòng)腳本

#!/bin/bash
# 啟動(dòng)服務(wù)
java -jar -DHOST_IP=${POD_IP}  /opt/service/lenovo_sample/sample-service-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

2.4、微服務(wù)修改配置

spring:
  application:
    name: sample
  cloud:
    consul:
      host: ${consul_host:10.0.10.110}
      port: ${consul_port:8500}
      discovery:
        register: true
        service-name: ${spring.application.name}
        health-check-path: /actuator/health
        healthCheckInterval: 10s
        tags: urlprefix-/${spring.application.name}
        instance-id: {spring.application.instance_id:${random.value}}}
        health-check-critical-timeout: 30s
        hostname: ${HOST_IP}

3、效果

能夠看到所有服務(wù) 都是使用POD 的IP來注冊(cè)到consul上

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Rainbond應(yīng)用分享與發(fā)布官方文檔說明

    Rainbond應(yīng)用分享與發(fā)布官方文檔說明

    這篇文章主要為大家介紹了Rainbond應(yīng)用分享與發(fā)布的官方文檔說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • Kubernetes(K8S)中強(qiáng)制刪除命名空間的實(shí)現(xiàn)方式

    Kubernetes(K8S)中強(qiáng)制刪除命名空間的實(shí)現(xiàn)方式

    本文介紹了在Kubernetes中刪除處于Terminating狀態(tài)的命名空間mysql-operator的步驟,包括檢查并清理殘留資源、強(qiáng)制刪除命名空間等方法
    2026-01-01
  • K8S中某個(gè)容器突然出現(xiàn)內(nèi)存和CPU占用過高的問題及解決方案

    K8S中某個(gè)容器突然出現(xiàn)內(nèi)存和CPU占用過高的問題及解決方案

    當(dāng)K8S容器出現(xiàn)資源過載時(shí),可通過kubectl監(jiān)控定位問題,調(diào)整資源限制,優(yōu)化應(yīng)用代碼,拆分多應(yīng)用容器,利用監(jiān)控工具排查,實(shí)施水平擴(kuò)展或遷移負(fù)載,確保集群穩(wěn)定運(yùn)行
    2025-07-07
  • k8s設(shè)置非強(qiáng)一致反親和性示例

    k8s設(shè)置非強(qiáng)一致反親和性示例

    這篇文章主要為大家介紹了k8s設(shè)置非強(qiáng)一致反親和性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • K8S集群需要開放的端口說明介紹

    K8S集群需要開放的端口說明介紹

    這篇文章主要介紹了K8S集群需要開放的端口說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • k8s的包管理工具h(yuǎn)elm使用簡(jiǎn)介

    k8s的包管理工具h(yuǎn)elm使用簡(jiǎn)介

    這篇文章主要為大家介紹了k8s的包管理工具h(yuǎn)elm使用簡(jiǎn)介,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析

    kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析

    這篇文章主要為大家介紹了kubernetes認(rèn)證鑒權(quán)內(nèi)容淺析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • k8s?clientConfig和rawConfig區(qū)別解析

    k8s?clientConfig和rawConfig區(qū)別解析

    k8s clientConfig和rawConfig區(qū)別k8s.io/client-gov0.28.2基于kubeconfig可以創(chuàng)建clientConfig和rawConfig,兩者區(qū)別在于,clientConfig包含了訪問kube-apiserver的地址和認(rèn)證鑒權(quán)信息,感興趣的朋友一起看看吧
    2025-03-03
  • DeepSeek-R1 云環(huán)境搭建部署流程

    DeepSeek-R1 云環(huán)境搭建部署流程

    本文主要介紹了DeepSeek-R1 云環(huán)境搭建部署流程,包括注冊(cè)、選擇合適的服務(wù)器配置、部署DeepSeek模型及通過UI界面和SSH連接進(jìn)行操作,感興趣的可以了解一下
    2025-02-02
  • 詳解推薦使用systemd?timer替代cronjob

    詳解推薦使用systemd?timer替代cronjob

    這篇文章主要為大家介紹了推薦使用systemd?timer替代0cronjob原理分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04

最新評(píng)論

盈江县| 福清市| 克拉玛依市| 平潭县| 金堂县| 北海市| 巴东县| 济宁市| 扬州市| 平湖市| 宁河县| 安西县| 麟游县| 德令哈市| 海门市| 朝阳区| 高尔夫| 竹北市| 西安市| 措美县| 荆州市| 五台县| 马尔康县| 大姚县| 揭西县| 阿拉善盟| 永川市| 东宁县| 石屏县| 临朐县| 桃园市| 佳木斯市| 梓潼县| 方山县| 万载县| 大荔县| 正蓝旗| 柳江县| 理塘县| 湟源县| 高碑店市|