当前位置: 首页 > wzjs >正文

文创网站建设建设网站需要哪些经营范围

文创网站建设,建设网站需要哪些经营范围,wordpress怎么做导航分类,太仓网站优化云原生学习路线导航页(持续更新中) kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计(一)Kubernetes架构原则和对象设计(二)Kubernetes架构原则和对象设计(三)Kubernetes控…

云原生学习路线导航页(持续更新中)

  • kubernetes学习系列快捷链接
    • Kubernetes架构原则和对象设计(一)
    • Kubernetes架构原则和对象设计(二)
    • Kubernetes架构原则和对象设计(三)
    • Kubernetes控制平面组件:etcd(一)
    • Kubernetes控制平面组件:etcd(二)
    • Kubernetes控制平面组件:etcd常用配置参数
    • kubectl 和 kubeconfig 基本原理
    • kubeadm 升级 k8s集群 1.17到1.20
    • Kubernetes常见问题解答
    • 查看云机器的一些常用配置
  • 本文将给出 ETCD 高可用集群的搭建方法,并演示如何进行数据备份、数据恢复、集群停机和集群重启
  • 参考链接:https://github.com/cncamp/101/blob/master/module5/etcd-ha-demo/install-ha-etcd.MD

1.etcd 高可用集群的搭建

推荐先阅读:Kubernetes控制平面组件:etcd常用配置参数,搞清楚etcd的常用参数,再阅读本节将会更加清晰

1.1.Install cfssl

# Debian/Ubuntu
apt install golang-cfssl# 或者使用go直接安装
go install github.com/cloudflare/cfssl/cmd/cfssl@latest
go install github.com/cloudflare/cfssl/cmd/cfssljson@latest
  • 作用:安装 cfssl 工具,用于生成 TLS 证书。
  • 原因:ETCD 集群需要 TLS 证书来加密节点之间的通信,确保数据安全性。

1.2.Generate tls certs and clone etcd code

mkdir /root/go/src/github.com/etcd-io
cd /root/go/src/github.com/etcd-io
git clone https://github.com/etcd-io/etcd.git
cd etcd/hack/tls-setup
  • 作用:
    • 创建 Go 工作目录。
    • 克隆 ETCD 官方仓库。
    • 进入 TLS 证书生成脚本目录。目的是先生成证书,才能去启动etcd
  • 原因:ETCD 官方提供了 TLS 证书生成的脚本和配置文件,方便用户快速生成证书。

1.3.Edit req-csr.json and keep 127.0.0.1 and localhost only for single cluster setup.

vi config/req-csr.json
  • 作用:编辑证书签名请求(CSR)配置文件,配置文件编辑好就可以生成证书了
  • 原因:
    • etcd 的证书签名请求文件,默认会生成一些ip,我们需要把ips改成自己的etcd集群ip
      在这里插入图片描述

    • 因为我这里虽然构建3节点etcd集群,但是都在本地一台机器上,所有只需要保留 127.0.0.1 和 localhost,避免生成不必要的证书。
      在这里插入图片描述

1.4.Generate certs

export infra0=127.0.0.1
export infra1=127.0.0.1
export infra2=127.0.0.1
make
mkdir /tmp/etcd-certs
mv certs /tmp/etcd-certs
  • 作用:
    • 先设置环境变量,指定集群节点的 IP 地址。因为我们准备将etcd的三个节点分别命名为 infra0、infra1、infra2
    • 使用 make 命令生成 TLS 证书。默认证书会生成到 当前目录/certs
    • 创建证书存储目录,并将生成的证书移动到该目录。
  • 原因:
    • 环境变量用于指定集群节点的 IP 地址。
    • make 命令调用 cfssl 生成证书。
    • 将证书集中存储,便于后续使用。后续使用etcdctl时需要执行cert目录

1.5.Start etcd cluster member1

  • 创建 start-all.sh 文件,将下面的命令复制进去

    • 声明了3个etcd实例,–initial-cluster-state为new,指明cert地址、节点名称、data-dir
    • 因为我要在同一台机器上启动3个实例,所以3个实例的端口是各异的
    #
    # each etcd instance name need to be unique
    # x380 is for peer communication
    # x379 is for client communication
    # dir-data cannot be shared
    #
    nohup etcd --name infra0 \
    --data-dir=/tmp/etcd/infra0 \
    --listen-peer-urls https://127.0.0.1:3380 \
    --initial-advertise-peer-urls https://127.0.0.1:3380 \
    --listen-client-urls https://127.0.0.1:3379 \
    --advertise-client-urls https://127.0.0.1:3379 \
    --initial-cluster-token etcd-cluster-1 \
    --initial-cluster infra0=https://127.0.0.1:3380,infra1=https://127.0.0.1:4380,infra2=https://127.0.0.1:5380 \
    --initial-cluster-state new \
    --client-cert-auth --trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem \
    --peer-client-cert-auth --peer-trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --peer-cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --peer-key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem 2>&1 > /var/log/infra0.log &nohup etcd --name infra1 \
    --data-dir=/tmp/etcd/infra1 \
    --listen-peer-urls https://127.0.0.1:4380 \
    --initial-advertise-peer-urls https://127.0.0.1:4380 \
    --listen-client-urls https://127.0.0.1:4379 \
    --advertise-client-urls https://127.0.0.1:4379 \
    --initial-cluster-token etcd-cluster-1 \
    --initial-cluster infra0=https://127.0.0.1:3380,infra1=https://127.0.0.1:4380,infra2=https://127.0.0.1:5380 \
    --initial-cluster-state new \
    --client-cert-auth --trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem \
    --peer-client-cert-auth --peer-trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --peer-cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --peer-key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem 2>&1 > /var/log/infra1.log &nohup etcd --name infra2 \
    --data-dir=/tmp/etcd/infra2 \
    --listen-peer-urls https://127.0.0.1:5380 \
    --initial-advertise-peer-urls https://127.0.0.1:5380 \
    --listen-client-urls https://127.0.0.1:5379 \
    --advertise-client-urls https://127.0.0.1:5379 \
    --initial-cluster-token etcd-cluster-1 \
    --initial-cluster infra0=https://127.0.0.1:3380,infra1=https://127.0.0.1:4380,infra2=https://127.0.0.1:5380 \
    --initial-cluster-state new \
    --client-cert-auth --trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem \
    --peer-client-cert-auth --peer-trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --peer-cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --peer-key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem 2>&1 > /var/log/infra2.log &
    
  • 执行创建集群

    chmod +0777 start-all.sh
    ./start-all.sh
    
  • 执行后集群就启动了,ps -ef | grep etcd 可以看出3个etcd节点已经有了
    在这里插入图片描述

  • 常见错误

    • 如果执行报错:nohup: nohup: failed to run command ‘etcd’nohup: failed to run command ‘etcd’failed to run command ‘etcd’: No such file or directory: No such file or directory,说明还没有etcd命令,需要安装一下
      # centos中
      yum install etcd
      # 设置使用的etcdctl api为v3
      export ETCDCTL_API=3
      

1.6.Member list 验证 etcd

etcdctl --endpoints https://127.0.0.1:3379 --cert /tmp/etcd-certs/certs/127.0.0.1.pem --key /tmp/etcd-certs/certs/127.0.0.1-key.pem --cacert /tmp/etcd-certs/certs/ca.pem member list
  • 作用:查看 ETCD 集群的成员列表。
  • 原因:验证集群是否正常运行,并确认所有节点已成功加入集群。
  • 如果报错:flag provided but not defined: -cert,说明没有设置 etcdctl 的版本
    export ETCDCTL_API=3
    

2.数据备份

2.1.Insert some data

  • 插入一些数据,模拟etcd的正常使用
    • key=a value=b
    • key=/a value=/b
    • key=/a/f value=ok
# 插入3条数据
[root@VM-226-235-tencentos ~/go/src/github.com/etcd-io/etcd/hack/tls-setup]# etcdctl --endpoints https://127.0.0.1:3379 --cert /tmp/etcd-certs/certs/127.0.0.1.pem --key /tmp/etcd-certs/certs/127.0.0.1-key.pem --cacert /tmp/etcd-certs/certs/ca.pem put a b
OK
[root@VM-226-235-tencentos ~/go/src/github.com/etcd-io/etcd/hack/tls-setup]# etcdctl --endpoints https://127.0.0.1:3379 --cert /tmp/etcd-certs/certs/127.0.0.1.pem --key /tmp/etcd-certs/certs/127.0.0.1-key.pem --cacert /tmp/etcd-certs/certs/ca.pem put /a /b
OK
[root@VM-226-235-tencentos ~/go/src/github.com/etcd-io/etcd/hack/tls-setup]# etcdctl --endpoints https://127.0.0.1:3379 --cert /tmp/etcd-certs/certs/127.0.0.1.pem --key /tmp/etcd-certs/certs/127.0.0.1-key.pem --cacert /tmp/etcd-certs/certs/ca.pem put /a/f ok
OK# 查看所有的数据
[root@VM-226-235-tencentos ~/go/src/github.com/etcd-io/etcd/hack/tls-setup]# etcdctl --endpoints https://127.0.0.1:3379 --cert /tmp/etcd-certs/certs/127.0.0.1.pem --key /tmp/etcd-certs/certs/127.0.0.1-key.pem --cacert /tmp/etcd-certs/certs/ca.pem get --prefix ""
/a
/b
/a/f
ok
a
b

2.2.Backup

  • 执行备份命令,将当前etcd集群全量备份为快照snapshot,备份生成文件snapshot.db
    etcdctl --endpoints https://127.0.0.1:3379 \--cert /tmp/etcd-certs/certs/127.0.0.1.pem \--key /tmp/etcd-certs/certs/127.0.0.1-key.pem \--cacert /tmp/etcd-certs/certs/ca.pem snapshot save snapshot.db
    
  • 执行后集群就备份了,ls 查看当前目录文件,会多出一个 snapshot.db
  • 在集群出现故障或数据丢失时,可以通过备份恢复数据。

3.销毁etcd集群,模拟故障

ps -ef | grep "/tmp/etcd/infra" | grep -v grep | awk '{print $2}'|xargs kill
  • 作用:终止所有 ETCD 节点的进程。
  • 原因:在恢复数据之前,需要停止所有 ETCD 实例。
rm -rf /tmp/etcd
  • 作用:删除 ETCD 数据目录。
  • 原因:模拟数据丢失场景,测试备份恢复功能。

4.使用快照恢复etcd集群数据

  • 创建 restore.sh 文件,将下面的命令复制进去
    • 使用 snapshot 恢复3个etcd实例,指定将数据恢复到哪里–data-dir
    export ETCDCTL_API=3
    etcdctl snapshot restore snapshot.db \--name infra0 \--data-dir=/tmp/etcd/infra0 \--initial-cluster infra0=https://127.0.0.1:3380,infra1=https://127.0.0.1:4380,infra2=https://127.0.0.1:5380 \--initial-cluster-token etcd-cluster-1 \--initial-advertise-peer-urls https://127.0.0.1:3380etcdctl snapshot restore snapshot.db \--name infra1 \--data-dir=/tmp/etcd/infra1 \--initial-cluster infra0=https://127.0.0.1:3380,infra1=https://127.0.0.1:4380,infra2=https://127.0.0.1:5380 \--initial-cluster-token etcd-cluster-1 \--initial-advertise-peer-urls https://127.0.0.1:4380etcdctl snapshot restore snapshot.db \--name infra2 \--data-dir=/tmp/etcd/infra2 \--initial-cluster infra0=https://127.0.0.1:3380,infra1=https://127.0.0.1:4380,infra2=https://127.0.0.1:5380 \--initial-cluster-token etcd-cluster-1 \--initial-advertise-peer-urls https://127.0.0.1:5380
    
  • 执行恢复集群数据,完成后 ls /tmp/etcd 查看数据是否恢复回来了
    chmod +0777 restore.sh
    ./restore.sh
    ls /tmp/etcd
    

5.重启etcd集群

  • 创建 restart-all.sh 文件,将下面的命令复制进去
    • 使用 重新启动 3个etcd实例,–data-dir指定数据目录
    nohup etcd --name infra0 \
    --data-dir=/tmp/etcd/infra0 \
    --listen-peer-urls https://127.0.0.1:3380 \
    --listen-client-urls https://127.0.0.1:3379 \
    --advertise-client-urls https://127.0.0.1:3379 \
    --client-cert-auth --trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem \
    --peer-client-cert-auth --peer-trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --peer-cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --peer-key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem 2>&1 > /var/log/infra0.log &nohup etcd --name infra1 \
    --data-dir=/tmp/etcd/infra1 \
    --listen-peer-urls https://127.0.0.1:4380 \
    --listen-client-urls https://127.0.0.1:4379 \
    --advertise-client-urls https://127.0.0.1:4379 \
    --client-cert-auth --trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem \
    --peer-client-cert-auth --peer-trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --peer-cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --peer-key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem 2>&1 > /var/log/infra1.log &nohup etcd --name infra2 \
    --data-dir=/tmp/etcd/infra2 \
    --listen-peer-urls https://127.0.0.1:5380 \
    --listen-client-urls https://127.0.0.1:5379 \
    --advertise-client-urls https://127.0.0.1:5379 \
    --client-cert-auth --trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem \
    --peer-client-cert-auth --peer-trusted-ca-file=/tmp/etcd-certs/certs/ca.pem \
    --peer-cert-file=/tmp/etcd-certs/certs/127.0.0.1.pem \
    --peer-key-file=/tmp/etcd-certs/certs/127.0.0.1-key.pem 2>&1 > /var/log/infra2.log &
    
  • 执行重启集群,完成后 ps -ef | grep etcd 查看3个etcd节点是否都重新启动了
    ps -ef | grep etcd
    

6.验证数据是否恢复

  • 获取etcd的member,查看节点是否正常
    [root@VM-226-235-tencentos ~/go/src/github.com/etcd-io/etcd/hack/tls-setup]# etcdctl --endpoints https://127.0.0.1:3379 --cert /tmp/etcd-certs/certs/127.0.0.1.pem --key /tmp/etcd-certs/certs/127.0.0.1-key.pem --cacert /tmp/etcd-certs/certs/ca.pem member list
    1701f7e3861531d4, started, infra0, https://127.0.0.1:3380, https://127.0.0.1:3379
    6a58b5afdcebd95d, started, infra1, https://127.0.0.1:4380, https://127.0.0.1:4379
    84a1a2f39cda4029, started, infra2, https://127.0.0.1:5380, https://127.0.0.1:5379
    
  • 获取etcd的所有数据,验证数据是否恢复
    [root@VM-226-235-tencentos ~/go/src/github.com/etcd-io/etcd/hack/tls-setup]# etcdctl --endpoints https://127.0.0.1:3379 --cert /tmp/etcd-certs/certs/127.0.0.1.pem --key /tmp/etcd-certs/certs/127.0.0.1-key.pem --cacert /tmp/etcd-certs/certs/ca.pem get --prefix ""
    /a
    /b
    /a/f
    ok
    a
    b
    

文章转载自:

http://MUe59yE8.fmkbk.cn
http://MPnUIP5s.fmkbk.cn
http://6X0p1M8q.fmkbk.cn
http://qHWGj7y7.fmkbk.cn
http://Kk8DfjE9.fmkbk.cn
http://z3yI9m78.fmkbk.cn
http://yVRTA3EG.fmkbk.cn
http://6MYavjmh.fmkbk.cn
http://lUw7Mf15.fmkbk.cn
http://OUJ5W4bP.fmkbk.cn
http://eSBEarta.fmkbk.cn
http://aHY8z6Kq.fmkbk.cn
http://5BJfTf6g.fmkbk.cn
http://AZkRCyNh.fmkbk.cn
http://6MHczO84.fmkbk.cn
http://vdbZQOWG.fmkbk.cn
http://HI6HQT4w.fmkbk.cn
http://8qI90LMr.fmkbk.cn
http://yCALTOOb.fmkbk.cn
http://Ye9o3Ee5.fmkbk.cn
http://F6WYGBiu.fmkbk.cn
http://V7zWA6Pt.fmkbk.cn
http://tifMzQlW.fmkbk.cn
http://qm3s1iaJ.fmkbk.cn
http://4icoGVzF.fmkbk.cn
http://btSGzEOU.fmkbk.cn
http://hko0GdY0.fmkbk.cn
http://61o05uV8.fmkbk.cn
http://KkgKUa4j.fmkbk.cn
http://iUFHG0Ig.fmkbk.cn
http://www.dtcms.com/wzjs/684652.html

相关文章:

  • 动态购物网站开发源代码安徽网络seo
  • 微信怎么建设自己网站青岛房产网官网首页
  • 公司网站空间域名建设网站建设需要什么证书
  • 做照片视频的网站展馆设计公司排名
  • 手机制作小程序软件的app莆田seo培训
  • 网站开发类标书模板焦作网站建设公司
  • 马和人做人和牛做网站单页网站的优点
  • 广州seo网站葫芦岛建设网站
  • 网站制作学费多少钱如何自己创建app软件
  • 网站建设学什么好做网站网页维护手机App开发
  • 品牌网站案例阿里云增加网站
  • 义乌做网站zisou8浩森宇特北京网站建设
  • 镇江市机关效能与作风建设网站打开小程序入口直接进入
  • 静态网站怎么做优化53套网站源码
  • 企业组织网站建设方案网站的建设的含义
  • 优秀个人网站设计图片设计网站页面鉴赏技巧ppt
  • 长安网站建设多少钱绍兴建设用地使用权网站
  • 郑州网站及优化wordpress插件国际化
  • 新网网站建设资料互联网技术应用学什么
  • 网站建设的中期目标大型网站制作导图
  • 做外贸网站违法吗珠海网站建设怎么样
  • 如何建网站并做推广网站设计制作的服务和质量
  • 怎样把网站做成软件网站的提交重置按钮怎么做
  • 朝阳网站网站建设需要使用阿里云吗
  • 新的seo网站优化排名 网站制作app平台需要什么流程
  • 做免费的小说网站可以赚钱吗阿里百秀wordpress大前端
  • 福清市城乡建设局网站火车头采集器wordpress下载
  • wordpress用ip访问搜索引擎优化搜索优化
  • 建立公司微信平台 网站平台辽宁建筑信息网查询
  • 微官网和移动网站区别建设网站及域名费用