webserver Etcd Cluster / CoreOS etcd / macOS etcd

时间:2022-11-26 20:37:25

s

https://coreos.com/etcd/

https://coreos.com/etcd/docs/latest/

ETCD 单机启动

https://kaixiansheng.iteye.com/blog/2401500

etcd就两个可执行文件(截至到3..15前)。
下载地址:https://github.com/coreos/etcd/releases 注:etcd可以集群安装,在这里只想做一个单机测试,所以只是启动一个节点就可以。 . 解压,并将文件放入系统路径中:
tar zxvf etcd-v3.0.15-linux-amd64.tar.gz
cp etcd /usr/bin/
cp etcdctl /usr/bin/ . 创建一个服务描述文件,放入systemd的服务目录下
cat /usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target [Service]
Type=simple
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
ExecStart=/usr/bin/etcd [Install]
WantedBy=multi-user.target . etcd的配置
cat /etc/etcd/etcd.conf
# [member]
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379" . 给etcd创建一个工作目录:
[root@localhost etcd]# mkdir /var/lib/etcd . 启动etcd,并测试
[root@localhost etcd]# systemctl daemon-reload
[root@localhost etcd]# systemctl start etcd
[root@localhost etcd]# systemctl enable etcd
Created symlink from/etc/systemd/system/multi-user.target.wants/etcd.service to/usr/lib/systemd/system/etcd.service.
[root@localhost etcd]# systemctl status etcd [root@localhost etcd]# etcdctl cluster-health
member 8e9e05c52164694d is healthy: got healthyresult from http://localhost:2379
cluster is healthy

macOS mojave etcd

003deMac-mini:~ macuser$ brew install etcd

003deMac-mini:~ macuser$ brew install etcd
Updating Homebrew... ==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
ios-sim numpy ==> Downloading https://homebrew.bintray.com/bottles/etcd-3.3.12.mojave.bottle.tar.gz
==> Downloading from https://akamai.bintray.com/2d/2d43653b282635230c278353d20371604daa844bdf23ccd57df5d245efa197fc?__gda__=exp=1555924161~hmac=888813e351080ced892659ca135
######################################################################## 100.0%
==> Pouring etcd-3.3.12.mojave.bottle.tar.gz
==> Caveats
To have launchd start etcd now and restart at login:
brew services start etcd
Or, if you don't want/need a background service you can just run:
etcd
==> Summary
 /usr/local/Cellar/etcd/3.3.12: 9 files, 51.6MB

003deMac-mini:~ macuser$ etcd --version
etcd Version: 3.3.12
Git SHA: GitNotFound
Go Version: go1.11.5
Go OS/Arch: darwin/amd64

https://github.com/etcd-io/etcd/releases/tag/v3.2.10

wget https://github.com/etcd-io/etcd/releases/download/v3.3.10/etcd-v3.3.10-linux-amd64.tar.gz

Etcd是一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现。etcd与zookeeper相比算是轻量级系统,
两者的一致性协议也一样。在kubernetes中使用etcd作为服务注册的工具,类似于秘钥信息和api信息都需要从etcd中读取。

通过命令etcdctl get / --prefix –keys-only来获取etcd中的所有的key。
找到key名后,通过etcdctl get+key名,可以拿到具体的值。

针对这边列出的所有key名,做了一些分类整理。有以下的几类key名:
Apiservices:APIService接口配置信息。
Customresourcedefinitions:创建自定义的资源对象信息(资源对象是指例如pod,或者service)。
Clusterrolebindings:RBAC角色绑定信息,和rolebinding的区别在于该属性是全局属性。
Clusterroles:RBAC角色信息,包括角色权限,操作权限等。
Events:kubelet记录pod的事件。
Jobs:和pod类似,是一些运行的单位,和pod的区别是job是一次性任务。
Minions:从机信息,node节点的宿主机。
Namespaces:命名空间的信息。
Pods:一个运行镜像的载体,由controller创建和管理。
Ranges:记录service调用的IP地址和端口。
Replicasets:用于副本控制,由deployment直接调用。
Rolebindings:角色信息,和Clusterrolebindings不同在于,该角色信息只在命名空间中生效。
Roles:角色信息,只在一个命名空间中生效。
Secrets:各个通信间的秘钥信息。
Serviceaccounts:提供给pod访问api的身份认证
Services:提供给外部的服务信息。

etcd集群搭建

https://www.cnblogs.com/jsonhc/p/7884668.html

etcd集群部署与遇到的坑

https://www.cnblogs.com/breg/p/5728237.html

end