go程序调用k8s pod副本的名称IP手动赋值给configmap的参数

ops/2025/3/17 17:29:44/

1、创建configmap

---
apiVersion: v1
data:config.yaml: >-# config.yamlEtcd:Endpoints:- "etcd-server:2379"Username: ""Password: ""Exchanges:#- Name: "Binance"#  Symbol: "BTCUSDT"#  WSUrl: "wss://fstream.binance.com/ws"- Name: "OKX"Symbol: "BTCUSDT"WSUrl: "wss://ws.okx.com:8443/ws/v5/public"#- Name: "Bybit"#  Symbol: "ETHUSDT"#  WSUrl: "wss://stream.bybit.com/v5/public/linear"#- Name: "Bitget"#  Symbol: "DOGEUSDT"#  WSUrl: "wss://ws.bitget.com/mix/v1/stream"#  ContractType: "mc"#- Name: "Pyth"#  Symbol: "BTCUSDT"#  WSUrl: "wss://hermes.pyth.network/ws"#  PriceId: "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43"DatabaseDSN:"abc:defg@tcp(rm-sefdref.mysql.rds.aliyuncs.com:3306)/miniapp"RedisAddr: "0.0.0.0:6379"RedisPassword: "S4t#d%dgrdfer3"RedisDB: 1KafkaBrokers:- "0.0.0.0:3195"BOT_TOKEN: "sefefedsfa:AAELY1TwInw46D3Lhpl0LvpQz2v-DoIq5ww"KafkaPriceUpdateTopic: "price_updates"SupportedCoins:- "BTC"- "ETH"##Chains:#  - Name: "ETH"##    ChainName: "ETH"##    NodeUrl:"https://crimson-frosty-county.quiknode.pro/serfefwaetwegrteyhtdrtyhfhyjhtf/"##    ConfirmationNum: 16#    ExcludedAddresses: "11","22"##    ScanInterval: 60#BaseSlippage: 0.005#Port: "0.0.0.0:8901"LogLevel: "info"Services:- Name: "api_gateway"ServiceID: "api-gateway-1"ServiceHost: "api_gateway"ServicePort: 8080- Name: "spider_service"ServiceID: "spider-service-1"ServiceHost: "spider_service"ServicePort: 50051- Name: "${SERVICE_NAME}"ServiceID: "${SERVICE_ID}"ServiceHost: "${POD_IP}"ServicePort: ${SERVICE_PORT}- Name: "trading_engine_service"ServiceID: "trading-engine-service-1"ServiceHost: "trading_engine_service"ServicePort: 50053- Name: "auth_service"ServiceID: "auth-service-1"ServiceHost: "auth_service"ServicePort: 50054- Name: "user_service"ServiceID: "user-service-1"ServiceHost: "user_service"ServicePort: 50055- Name: "account_service"ServiceID: "account-service-1"ServiceHost: "account_service"ServicePort: 50056- Name: "wallet_service"ServiceID: "wallet-service-1"ServiceHost: "wallet_service"ServicePort: 50057#    HttpPort : 8091- Name: "chain_scanner_service"ServiceID: "chain-scanner-service-1"ServiceHost: "chain_scanner_service"ServicePort: 50058- Name: "out_service"ServiceID: "out-service-1"ServiceHost: "out_service"ServicePort: 50059SlippageTiers:tier1:- Threshold: 1000Factor: 0.001- Threshold: 5000Factor: 0.0008tier2:- Threshold: 10000Factor: 0.0005GameOptions:TenantId: 90026ProductCode: UD_OPTIONExitUrl: https://t.me/abc/GoodAccessCode: 15224562686655IvValue: DJIOHFDsaifiajfiwefjqwi63GetUrl: https://abc.pro/saas-option-api/open/tenant/getSaasOptionUrl
kind: ConfigMap
metadata:name: config.yamlnamespace: testresourceVersion: '150039730'

2、创建deployment,其中包含initContainers和containers两部分

---
apiVersion: apps/v1
kind: Deployment
metadata:annotations:k8s.kuboard.cn/displayName: bot-servicelabels:k8s.kuboard.cn/name: bot-servicename: bot-servicenamespace: testresourceVersion: '150036998'
spec:progressDeadlineSeconds: 600replicas: 2revisionHistoryLimit: 10selector:matchLabels:k8s.kuboard.cn/name: bot-servicestrategy:rollingUpdate:maxSurge: 25%maxUnavailable: 25%type: RollingUpdatetemplate:metadata:creationTimestamp: nulllabels:k8s.kuboard.cn/name: bot-servicespec:containers:- env:- name: SERVICE_IDvalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.nameimage: 'harbor.cuiwjrpcvi.com/bktest/bot_service:test'imagePullPolicy: IfNotPresentname: bot-serviceports:- containerPort: 50052name: adwqdwprotocol: TCPresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FilevolumeMounts:- mountPath: /telegram/shared/configname: config-outputdnsPolicy: ClusterFirsthostAliases:- hostnames:- etcd-serverip: 172.16.1.193imagePullSecrets:- name: harbor-secretinitContainers:- args:- >-apk add --no-cache gettext && envsubst </config-template/config.yaml >/telegram/shared/config/config.yaml;command:- /bin/sh- '-c'env:- name: SERVICE_IDvalueFrom:fieldRef:apiVersion: v1fieldPath: metadata.name- name: POD_IPvalueFrom:fieldRef:apiVersion: v1fieldPath: status.podIP- name: SERVICE_NAMEvalue: bot-service- name: SERVICE_PORTvalue: '50052'image: 'alpine:3.17'imagePullPolicy: IfNotPresentname: bot-service-initresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FilevolumeMounts:- mountPath: /config-templatename: config-template- mountPath: /telegram/shared/config/name: config-outputrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30volumes:- configMap:defaultMode: 420items:- key: config.yamlpath: config.yamlname: config.yamlname: config-template- emptyDir: {}name: config-output

3、启动deployment并登录容器验证结果
查询configmap文本内容
节点一

cat shared/config/config.yaml
。。。。。。- Name: "bot-service"ServiceID: "bot-service-5c7745fff4-c8w6b"ServiceHost: "172.20.250.31"ServicePort: 50052
。。。。。。    

节点二

cat shared/config/config.yaml
。。。。。。- Name: "bot-service"ServiceID: "bot-service-5c7745fff4-8p72g"ServiceHost: "172.20.171.3"ServicePort: 50052
。。。。。。    

4、登录etcd查看注册情况

root@iZj6ch896i3lsjbs6cqk2iZ:/data/docker-compose/bot_service# docker exec -it etcd-server /bin/bash
I have no name!@etcd-server:/opt/bitnami/etcd$ etcdctl get --prefix /service
/services/bot/bot-service-5c7745fff4-8p72g
172.20.171.3:50052
/services/bot/bot-service-5c7745fff4-c8w6b
172.20.250.31:50052

至此go程序通过自己提交ip和服务信息注册到etcd已成功完成


http://www.ppmy.cn/ops/166568.html

相关文章

牛客周赛84 题解 Java ABCDEFG AK实录

目录 题目地址 做题情况 A 题 B 题 C / D 题 E 题 F / G 题 题目地址 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 做题情况 A 题 import java.io.*; import java.math.*; import java.util.*;// xixi♡西 public class Main {static IOS scnew…

​​​​​​​大语言模型安全风险分析及相关解决方案

大语言模型的安全风险可以从多个维度进行分类。 从输入输出的角度来看,存在提示注入、不安全输出处理、恶意内容生成和幻觉错误等风险; 从数据层面来看,训练数据中毒、敏感信息泄露和模型反演攻击是主要威胁; 模型自身则面临拒绝服务和盗窃的风险; 供应链和插件的不安全引…

三角函数:从宇宙法则到AI革命的数学密钥

——跨越三千年的数学语言与现代科技全景透视 一、数学本质&#xff1a;宇宙的波动密码 1.1 拓扑学视角下的三角函数 三角函数本质是单位圆上点的坐标参数化&#xff0c;其数学表达可抽象为&#xff1a; { x cos ⁡ θ ℜ ( e i θ ) y sin ⁡ θ ℑ ( e i θ ) \begin…

平板作为笔记本副屏使用spacedesk

平板作为笔记本的一块副屏使用 软件 spacedesk 已上传&#xff0c;可自行下载。&#xff08;上传需要审核且只能绑定一个资源&#xff0c;可在官网自行下载&#xff0c;或私聊我&#xff09; PC版 移动版 spacedesk-2-1-17.apk 电脑版按照提示一步一步安装节即可移动端直接…

Centos离线安装openssl

文章目录 Centos离线安装openssl1. openssl是什么&#xff1f;2. openssl下载地址3. openssl-devel安装4. 安装结果验证5. 版本查看 Centos离线安装openssl 1. openssl是什么&#xff1f; OpenSSL 是一个开源的、跨平台的 加密工具库 和 命令行工具集&#xff0c;广泛用于实现…

架构思维:软件建模与架构设计的关键要点

文章目录 1. 软件建模的核心概念2. 七种常用UML图及其应用场景类图时序图组件图部署图用例图状态图活动图 3. 软件设计文档的三阶段结构4. 架构设计的关键实践1. 用例图&#xff1a;核心功能模块2. 部署图&#xff1a;架构演进阶段3. 技术挑战与解决方案4. 关键架构图示例5. 架…

Manus 一码难求,MetaGPT、OpenManus、Camel AI 会是替代方案吗?

Manus 一码难求&#xff0c;MetaGPT、OpenManus、Camel AI 会是替代方案吗&#xff1f; 一、Manus 的现象与问题 Manus 作为一款号称“全球首个通用 AI 智能体”的产品&#xff0c;凭借其强大的功能和新颖的营销策略迅速走红。然而&#xff0c;其封闭的邀请码机制和高昂的使用…

失败的面试经历(ʘ̥∧ʘ̥)

一.面向对象的三大特性 1.封装&#xff1a;将对象内部的属性私有化&#xff0c;外部对象不能够直接访问&#xff0c;但是可以提供一些可以使外部对象操作内部属性的方法。 2.继承&#xff1a;类与类之间会有一些相似之处&#xff0c;但也会有一些异处&#xff0c;使得他们与众…