Golang 读取kubernets数据库etcd

1.背景

参考链接:
- 1. [译]走进Kubernetes集群的大脑:Etcd
- 2. Kubernetes架构图

最近学习K8S架构,参考了一些资料,了解到几个组件都通过apiserver对接,etcd作为apiserver后端数据库,了解下工作原理。用go写了简单的客户端读取etcd内容

图片来源以上两个参考链接

在这里插入图片描述
在这里插入图片描述

2.环境准备

  • 操作系统ubuntu 22
  • k8s环境minikube v1.26.1
  • node节点信息
NAME STATUS ROLES IP VERSION
minikube Ready control-plane,master 192.168.49.2 v1.23.8
minikube-m02 Ready none 192.168.49.3 v1.23.8
minikube-m03 Ready none 192.168.49.4 v1.23.8

获取etcd根证书,服务器证书和私钥

# 先查看etcd证书路径
kubectl describe pods --namespace kube-system etcd-minikube | grep etcd-certs: -A 3
#   etcd-certs:
#     Type:          HostPath (bare host directory volume)
#     Path:          /var/lib/minikube/certs/etcd
#     HostPathType:  DirectoryOrCreate
# 登录进控制节点机器拷贝证书出来
minikube ssh -n minikube
# docker@minikube:
cd /var/lib/minikube/certs/etcd
# 拷贝ca.crt server.crt server.key 到真实机器
scp ca.crt 用户名@本机IP

3. Go访问etcd代码

参考链接1中使用 etcdctl 访问,这里学习下go操作etcd方法,所以自己码了个代码
上一步证书放到程序目录

package main

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值