长期支持版本

    社区创新版本

      安装 etcd

      准备环境

      使能 etcd 使用的端口:

      firewall-cmd --zone=public --add-port=2379-2381/tcp
      

      安装 etcd 二进制

      当前是通过 rpm 包安装

      rpm -ivh etcd*.rpm
      

      准备目录

      mkdir -p /etc/etcd /var/lib/etcd
      cp ca.pem /etc/etcd/
      cp kubernetes-key.pem /etc/etcd/
      cp kubernetes.pem /etc/etcd/
      # 关闭selinux
      setenforce 0
      # 禁用/etc/etcd/etcd.conf文件的默认配置
      # 注释掉即可,例如:ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
      

      编写 etcd.service 文件

      k8smaster0 机器为例:

      $ cat /usr/lib/systemd/system/etcd.service
      [Unit]
      Description=Etcd Server
      After=network.target
      After=network-online.target
      Wants=network-online.target
      
      [Service]
      Type=notify
      WorkingDirectory=/var/lib/etcd/
      EnvironmentFile=-/etc/etcd/etcd.conf
      # set GOMAXPROCS to number of processors
      ExecStart=/bin/bash -c "ETCD_UNSUPPORTED_ARCH=arm64 /usr/bin/etcd --name=k8smaster0 --cert-file=/etc/etcd/kubernetes.pem --key-file=/etc/etcd/kubernetes-key.pem --peer-cert-file=/etc/etcd/kubernetes.pem --peer-key-file=/etc/etcd/kubernetes-key.pem --trusted-ca-file=/etc/etcd/ca.pem --peer-trusted-ca-file=/etc/etcd/ca.pem --peer-client-cert-auth --client-cert-auth --initial-advertise-peer-urls https://192.168.122.154:2380 --listen-peer-urls https://192.168.122.154:2380 --listen-client-urls https://192.168.122.154:2379,https://127.0.0.1:2379 --advertise-client-urls https://192.168.122.154:2379 --initial-cluster-token etcd-cluster-0 --initial-cluster k8smaster0=https://192.168.122.154:2380,k8smaster1=https://192.168.122.155:2380,k8smaster2=https://192.168.122.156:2380 --initial-cluster-state new --data-dir /var/lib/etcd"
      
      Restart=always
      RestartSec=10s
      LimitNOFILE=65536
      
      [Install]
      WantedBy=multi-user.target
      

      注意:

      • arm64上面需要增加启动设置ETCD_UNSUPPORTED_ARCH=arm64
      • 由于本文把etcd和k8s control部署在相同机器,所以使用了kubernetes.pemkubernetes-key.pem证书来启动;
      • CA证书,在整个部署流程里面使用了一个,etcd可以生成自己的CA,然后用自己的CA签名其他证书,在apiserver访问etcd的client时,需要用该CA签名的证书;
      • initial-cluster需要把所有部署etcd的配置加上;
      • 为了提高etcd的存储效率,可以使用ssd硬盘的目录,作为data-dir

      启动服务

      $ systemctl enable etcd
      $ systemctl start etcd
      

      然后,依次部署其他机器即可。

      验证基本功能

      $  ETCDCTL_API=3 etcdctl -w table endpoint status --endpoints=https://192.168.122.155:2379,https://192.168.122.156:2379,https://192.168.122.154:2379   --cacert=/etc/etcd/ca.pem   --cert=/etc/etcd/kubernetes.pem   --key=/etc/etcd/kubernetes-key.pem
      +------------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
      |           ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFTAPPLIED INDEX | ERRORS |
      +------------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
      | https://192.168.122.155:2379 | b50ec873e253ebaa |  3.4.14 |  262 kB |     false |      false |       819 |         21 |           21 |        |
      | https://192.168.122.156:2379 | e2b0d126774c6d02 |  3.4.14 |  262 kB |      true |      false |       819 |         21 |           21 |        |
      | https://192.168.122.154:2379 | f93b3808e944c379 |  3.4.14 |  328 kB |     false |      false |       819 |         21 |           21 |        |
      +------------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
      

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份