【k8s】访问etcd

1. 配置

export.sh

go 复制代码
export ETCDCTL_API=3  # Kubernetes 1.13+ 使用 API v3
export ETCDCTL_ENDPOINTS=https://[2023:145:246:270::3]:2379  # etcd API endpoint,通常为集群内的 etcd 服务地址
export ETCDCTL_CACERT=/etc/kubernetes/certs/ca.crt  # CA 证书文件
export ETCDCTL_CERT=/etc/kubernetes/certs/kubectl.crt  # 客户端证书文件
export ETCDCTL_KEY=/etc/kubernetes/certs/kubectl.key  # 客户端私钥文件

source export.sh

参数来源:

  • ETCDCTL_API 执行etcdctl version

    $ 复制代码
    etcdctl version: 3.5.13
    API version: 3.5
    Go Version: go1.22.5
    Go OS/Arch: linux/amd64
  • ETCDCTL_ENDPOINTS
    直接查看api-server进程参数 ps -ef|grep /usr/local/bin/kube-apiserver

    go 复制代码
    --etcd-servers=https://[2023:145:246:270::3]:2379

    因为 api-server也需要和etcd打交道

  • 证书
    使用 /etc/kubernetes/certs/etcd/etc/kubernetes/certs/好像都可以,可能默认值相同的

2. 常用命令

go 复制代码
etcdctl get  --prefix / --keys-only  # 获取所有键
etcdctl get   /registry/pods/{namespace}/{pod-name}:存储 Pod 对象数据。
etcdctl get  /registry/nodes/{node-name}:存储节点信息。  未验证过
etcdctl get  /registry/secrets/{namespace}/{secret-name}:存储 Secret 对象。未验证过

Kubernetes 在存储数据时默认使用 protobuf 编码,因为它比 JSON 更紧凑且高效。如果你的集群设置了加密配置(例如使用 EncryptionConfiguration),数据可能会被加密存储,但原始格式仍然是 protobuf。

etcdctl get --prefix / --keys-only 表示匹配以/开头的所有条目 ,

etcdctl get / --keys-only 精确匹配一条 /路劲的条目

相关推荐
小马爱打代码14 小时前
k8s:SpringBoot应用容器化
spring boot·容器·kubernetes
小程故事多_8014 小时前
Kthena 引爆云原生推理革命:K8s 分布式架构破解 LLM 编排困局,吞吐狂飙 273%
人工智能·分布式·云原生·kubernetes·aigc
喜欢你,还有大家18 小时前
k8s集群监控的部署
云原生·容器·kubernetes
喜欢你,还有大家20 小时前
实战演练——wordpress-k8s集群版
云原生·容器·kubernetes
起风了___1 天前
Jenkins + Kubernetes 多模块微服务一键流水线:从 Maven 打包到滚动发布完整脚本
kubernetes·jenkins
2501_941881401 天前
Kubernetes 容器集群资源调度与弹性扩容高可用架构在互联网业务实战经验总结
云原生·容器·kubernetes
究極の法則に通じた野犬1 天前
k8s设计理念-k8s中哪些服务要部署成StatefulSet哪些部署成Deployment
云原生·容器·kubernetes
wuxingge1 天前
k8s集群误删node节点,怎么添加回去
云原生·容器·kubernetes
观测云2 天前
Kubernetes CRD 方式配置容器日志采集最佳实践
容器·kubernetes·日志分析
运维-大白同学2 天前
2025最全面开源devops运维平台功能介绍
linux·运维·kubernetes·开源·运维开发·devops