Open yanzuo0609 opened 4 years ago
--enable-v2=true
,v3.4默认不启动v2服务;--cert-file=/opt/k8s/work/flanneld.pem
--> --cert-file=/etc/etcd/cert/etcd.pem
1. 如果是v3.4版本的etcd,启动命令需要加上`--enable-v2=true`,v3.4默认不启动v2服务; 2. `--cert-file=/opt/k8s/work/flanneld.pem` --> `--cert-file=/etc/etcd/cert/etcd.pem `
老哥,你这解释的一个都不通啊
解决方案,亲测有效:
....
--heartbeat-interval=250 \
--election-timeout=2000 \
--enable-v2=true
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install] WantedBy=multi-user.target
加入` --enable-v2=true`,注意上一行结尾的反斜杠
2. 调整写入命令
```shell
ETCDCTL_API=2 etcdctl --endpoints=${ETCD_ENDPOINTS} --ca-file=/opt/k8s/work/ca.pem --cert-file=/opt/k8s/work/flanneld.pem --key-file=/opt/k8s/work/flanneld-key.pem mk ${FLANNEL_ETCD_PREFIX}/config '{"Network":"'${CLUSTER_CIDR}'", "SubnetLen": 21, "Backend": {"Type": "vxlan"}}'
FLANNEL_ETCD_PREFIX 环境变量需要自己手动加一下。我是随便给了个值。
解决方案,亲测有效:
- 修改etcd.service systemd unit文件
.... --heartbeat-interval=250 \ --election-timeout=2000 \ --enable-v2=true Restart=on-failure RestartSec=5 LimitNOFILE=65536 [Install] WantedBy=multi-user.target
加入
--enable-v2=true
,注意上一行结尾的反斜杠
- 调整写入命令
ETCDCTL_API=2 etcdctl --endpoints=${ETCD_ENDPOINTS} --ca-file=/opt/k8s/work/ca.pem --cert-file=/opt/k8s/work/flanneld.pem --key-file=/opt/k8s/work/flanneld-key.pem mk ${FLANNEL_ETCD_PREFIX}/config '{"Network":"'${CLUSTER_CIDR}'", "SubnetLen": 21, "Backend": {"Type": "vxlan"}}'
FLANNEL_ETCD_PREFIX 环境变量需要自己手动加一下。我是随便给了个值。
niubi 666
执行后还是报错
`[@master01 /opt/k8s/work]# ETCDCTL_API=2 etcdctl --endpoints=${ETCD_ENDPOINTS} --ca-file=/opt/k8s/work/ca.pem --cert-file=/opt/k8s/work/flanneld.pem --key-file=/opt/k8s/work/flanneld-key.pem mk ${FLANNEL_ETCD_PREFIX}/config '{"Network":"'${CLUSTER_CIDR}'", "SubnetLen": 21, "Backend": {"Type": "vxlan"}}'
Error: client: response is invalid json. The endpoint is probably not valid etcd cluster endpoint`
不好意思,反应慢了,需要所有 etcd 节点都修改 /etc/systemd/system/etcd.service,并重启 etcd 服务即可执行后续设置命令 cat /etc/systemd/system/etcd.service [Unit] Description=Etcd Server After=network.target After=network-online.target Wants=network-online.target Documentation=https://github.com/coreos
[Service] Type=notify WorkingDirectory=/data/k8s/etcd/data ExecStart=/opt/k8s/bin/etcd \ --data-dir=/data/k8s/etcd/data \ --wal-dir=/data/k8s/etcd/wal \ --name=master01 \ --cert-file=/etc/etcd/cert/etcd.pem \ --key-file=/etc/etcd/cert/etcd-key.pem \ --trusted-ca-file=/etc/kubernetes/cert/ca.pem \ --peer-cert-file=/etc/etcd/cert/etcd.pem \ --peer-key-file=/etc/etcd/cert/etcd-key.pem \ --peer-trusted-ca-file=/etc/kubernetes/cert/ca.pem \ --peer-client-cert-auth \ --client-cert-auth \ --listen-peer-urls=https://10.19.1.99:2380 \ --initial-advertise-peer-urls=https://10.19.1.99:2380 \ --listen-client-urls=https://10.19.1.99:2379,http://127.0.0.1:2379 \ --advertise-client-urls=https://10.19.1.99:2379 \ --initial-cluster-token=etcd-cluster-0 \ --initial-cluster=master01=https://10.19.1.99:2380,master02=https://10.19.1.100:2380,master03=https://10.18.1.62:2380 \ --initial-cluster-state=new \ --auto-compaction-mode=periodic \ --auto-compaction-retention=1 \ --max-request-bytes=33554432 \ --quota-backend-bytes=6442450944 \ --heartbeat-interval=250 \ --election-timeout=2000 \ --enable-v2=true Restart=on-failure RestartSec=5 LimitNOFILE=65536
[Install] WantedBy=multi-user.target
重启服务: systemctl daemon-reload systemctl restart etcd.service
文档版本 etcd v3.4。
现象描述 [root@k8s-node-01 work]# ETCDCTL_API=2 etcdctl \ tLen": 21, "Backend": {"Type": "vxlan"}}'> --endpoints=${ETCD_ENDPOINTS} \