Prepare certs
确保可以找到 Kubernetes 的 ca.crt 和 ca.key 文件。如果您通过 kubeadm 设置您的 Kubernetes 集群,这些文件将位于 /etc/kubernetes/pki/ 目录中。
ls /etc/kubernetes/pki/
设置 CLOUDCOREIPS 环境变量。该环境变量用于指定 cloudcore 的 IP 地址,或者是一个高可用集群的 VIP(虚拟IP)。
export CLOUDCOREIPS="192.168.133.152"
(警告:必须使用相同的终端才能继续工作,否则必须再次键入此命令。使用以下命令检查环境变量:
echo $CLOUDCOREIPS
在云节点上为 CloudStream 生成证书,但是,生成文档不在 /etc/kubeedge/ 中,我们需要从从 GitHub 克隆的 git 存储库中复制它。将用户更改为 root:
sudo su
从原始克隆库中复制证书生成文件:
wget https://github.com/kubeedge/kubeedge/blob/v1.10.0/build/tools/certgen.sh #下载对应版
chmod +x certgen.sh
从certgen.sh生成证书
Set Iptables Rule
在主机上设置iptables。此命令应在部署apiserver的每个节点上执行(在这种情况下,它是主节点,并且以root身份执行该命令)。
在每个运行apiserver的主机上运行以下命令:
注意:您需要首先设置cloudcoreips变量
iptables -t nat -A OUTPUT -p tcp --dport 10350 -j DNAT --to $CLOUDCOREIPS:10003
Port 10003 and 10350 are the default ports for the CloudStream and edgecore, use your own ports if you have changed them.
如果您不确定是否设置了iptables,并且想要清除所有设置。(如果您错误地设置了iptables,它将阻止您使用此功能)以下命令可用于清理iptables:
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
Update Configurations
在cloudcore和edgecore上修改/etc/kubeedge/config/cloudcore.yaml和/etc/kubeedge/config/edgecore.yaml。设置cloudStream和edgeStream以启用:true。将服务器IP更改为cloudcore的IP(与$CLOUDCOREIPS相同)。
修改 /etc/kubeedge/config/cloudcore.yaml:
修改 /etc/kubeedge/config/edgecore.yaml
:
Restart
-
Restart all the cloudcore and edgecore.
At the cloud side:
sudo systemctl restart cloudcore.service
At the edge side:
sudo systemctl restart edgecore.service