全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 1503|回复: 5
打印 上一主题 下一主题

Kubernetes 1.8.3 集群部署 二进制安装 TLS [ 20180319更新ETCD安装 ]

[复制链接]
跳转到指定楼层
1#
发表于 2018-3-19 22:09:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上一章内容地址 : http://mjj.022333.xyz/thread-434889-1-1.html

  1. # 创建高可用 etcd 集群
  2.     # kuberntes 系统使用 etcd 存储所有数据,
  3.     # 这三个节点复用 kubernetes master node 机器 ,分别命名为k8s-m1.easylinux.cn、k8s-n1.easylinux.cn、k8s-n2.easylinux.cn:
  4.    
  5.     # 10.0.3.221 k8s-m1.easylinux.cn
  6.     # 10.0.3.222 k8s-n1.easylinux.cn
  7.     # 10.0.3.223 k8s-n2.easylinux.cn
  8.    
  9.     # TLS 认证文件
  10.         # 需要为 etcd 集群创建加密通信的 TLS 证书,这里复用以前创建的 kubernetes 证书;
  11.         # 前面已经分发 kubernetes-key.pem kubernetes.pem 到所有机器上了;
  12.         # kubernetes 证书的 hosts 字段列表中包含上面三台机器的 IP,否则后续证书校验会失败;
  13.         
  14.     # [k8s-m1 10.0.3.221, k8s-n1 10.0.3.222, k8s-n2 10.0.3.223]
  15.         # 下载etcd二进制文件
  16.             cd /tmp
  17.             wget https://github.com/coreos/etcd/releases/download/v3.1.5/etcd-v3.1.5-linux-amd64.tar.gz [PS下次安装用高版本]
  18.             tar -xvf etcd-v3.1.5-linux-amd64.tar.gz
  19.             mv etcd-v3.1.5-linux-amd64/etcd* /usr/local/bin
  20.         
  21.         # 创建 etcd 的 systemd unit 文件
  22.             cat > /usr/lib/systemd/system/etcd.service <<EOF
  23.             [Unit]
  24.             Description=Etcd Server
  25.             After=network.target
  26.             After=network-online.target
  27.             Wants=network-online.target
  28.             Documentation=https://github.com/coreos
  29.             [Service]
  30.             Type=notify
  31.             WorkingDirectory=/var/lib/etcd/
  32.             EnvironmentFile=-/etc/etcd/etcd.conf
  33.             ExecStart=/usr/local/bin/etcd \\
  34.               --name \${ETCD_NAME} \\
  35.               --cert-file=/etc/kubernetes/ssl/kubernetes.pem \\
  36.               --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \\
  37.               --peer-cert-file=/etc/kubernetes/ssl/kubernetes.pem \\
  38.               --peer-key-file=/etc/kubernetes/ssl/kubernetes-key.pem \\
  39.               --trusted-ca-file=/etc/kubernetes/ssl/ca.pem \\
  40.               --peer-trusted-ca-file=/etc/kubernetes/ssl/ca.pem \\
  41.               --initial-advertise-peer-urls \${ETCD_INITIAL_ADVERTISE_PEER_URLS} \\
  42.               --listen-peer-urls \${ETCD_LISTEN_PEER_URLS} \\
  43.               --listen-client-urls \${ETCD_LISTEN_CLIENT_URLS},http://127.0.0.1:2379 \\
  44.               --advertise-client-urls \${ETCD_ADVERTISE_CLIENT_URLS} \\
  45.               --initial-cluster-token \${ETCD_INITIAL_CLUSTER_TOKEN} \\
  46.               --initial-cluster infra1=https://10.0.3.221:2380,infra2=https://10.0.3.222:2380,infra3=https://10.0.3.223:2380 \\
  47.               --initial-cluster-state new \\
  48.               --data-dir=\${ETCD_DATA_DIR}
  49.             Restart=on-failure
  50.             RestartSec=5
  51.             LimitNOFILE=65536
  52.             [Install]
  53.             WantedBy=multi-user.target
  54.             EOF
  55.             mkdir /var/lib/etcd
  56.             # 创建数据目录为 /var/lib/etcd,指定 etcd 的工作目录为 /var/lib/etcd;
  57.             # 为保证通信安全,需指定 etcd 的公私钥(cert-file和key-file)、Peers 通信的公私钥和CA 证书(peer-cert-file、peer-key-file、peer-trusted-ca-file)、客户端的CA证书(trusted-ca-file);
  58.             # 创建 kubernetes.pem 证书时使用的 kubernetes-csr.json 文件的 hosts 字段包含所有 etcd 节点的IP,否则证书校验会出错;
  59.             # --initial-cluster-state 值为 new 时,--name 的参数值必须位于 --initial-cluster 列表中;

  60.     # etcd 各节点创建环境变量配置文件/etc/etcd/etcd.conf
  61.         # k8s-m1 10.0.3.221
  62.             mkdir /etc/etcd
  63.             cat > /etc/etcd/etcd.conf <<EOF
  64.             # [member]
  65.             ETCD_NAME=infra1
  66.             ETCD_DATA_DIR="/var/lib/etcd"
  67.             ETCD_LISTEN_PEER_URLS="https://10.0.3.221:2380"
  68.             ETCD_LISTEN_CLIENT_URLS="https://10.0.3.221:2379"
  69.             # [cluster]
  70.             ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.0.3.221:2380"
  71.             ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  72.             ETCD_ADVERTISE_CLIENT_URLS="https://10.0.3.221:2379"
  73.             EOF
  74.         # k8s-n1 10.0.3.222
  75.             mkdir /etc/etcd
  76.             cat > /etc/etcd/etcd.conf <<EOF
  77.             # [member]
  78.             ETCD_NAME=infra2
  79.             ETCD_DATA_DIR="/var/lib/etcd"
  80.             ETCD_LISTEN_PEER_URLS="https://10.0.3.222:2380"
  81.             ETCD_LISTEN_CLIENT_URLS="https://10.0.3.222:2379"
  82.             # [cluster]
  83.             ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.0.3.222:2380"
  84.             ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  85.             ETCD_ADVERTISE_CLIENT_URLS="https://10.0.3.222:2379"
  86.             EOF
  87.         # k8s-n2 10.0.3.223
  88.             mkdir /etc/etcd
  89.             cat > /etc/etcd/etcd.conf <<EOF
  90.             # [member]
  91.             ETCD_NAME=infra3
  92.             ETCD_DATA_DIR="/var/lib/etcd"
  93.             ETCD_LISTEN_PEER_URLS="https://10.0.3.223:2380"
  94.             ETCD_LISTEN_CLIENT_URLS="https://10.0.3.223:2379"
  95.             # [cluster]
  96.             ETCD_INITIAL_ADVERTISE_PEER_URLS="https://10.0.3.223:2380"
  97.             ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
  98.             ETCD_ADVERTISE_CLIENT_URLS="https://10.0.3.223:2379"
  99.             EOF
  100.     # 启动 etcd 服务        
  101.         # k8s-m1 10.0.3.221, k8s-n1 10.0.3.222, k8s-n2 10.0.3.223
  102.             systemctl daemon-reload
  103.             systemctl enable etcd
  104.             systemctl start etcd
  105.             systemctl status etcd
  106.             在3个 节点重复上面的步骤,直到所有机器的 etcd 服务都已启动。
  107.         
  108.     # 验证服务
  109.         # k8s-m1 10.0.3.221
  110.             etcdctl \
  111.             --ca-file=/etc/kubernetes/ssl/ca.pem \
  112.             --cert-file=/etc/kubernetes/ssl/kubernetes.pem \
  113.             --key-file=/etc/kubernetes/ssl/kubernetes-key.pem \
  114.             cluster-health
  115.         # 可以在任意一台 kubernetes master 机器上执行以上命令:
  116.         # 结果最后一行为 cluster is healthy 时表示集群服务正常:
复制代码
2#
发表于 2018-3-19 22:11:32 | 只看该作者
先收藏 绝对有用
优秀的苦瓜 该用户已被删除
3#
发表于 2018-3-19 22:12:50 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
4#
 楼主| 发表于 2018-3-19 22:31:45 | 只看该作者
宝创 发表于 2018-3-19 22:11
先收藏 绝对有用

5#
 楼主| 发表于 2018-3-19 22:33:06 | 只看该作者
优秀的苦瓜 发表于 2018-3-19 22:12
收藏先,洗白白再来看

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-7 07:46 , Processed in 0.058341 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表