KubeEdge v1.5 安装(在线版)

一、系统配置与安装docker (云边节点都操作执行)

1、禁用开机自启动防火墙
systemctl stop firewalld
systemctl disable firewalld
2、关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
3、关闭swap
sed -ri 's/.*swap.*/#&/' /etc/fstab
swapoff -a
4、在各节点添加hosts与githubusercontent解析
cat >> /etc/hosts << EOF
192.168.2.201 master1
192.168.2.202 master2
192.168.2.203 master3
192.168.2.205 node1
199.232.68.133 raw.githubusercontent.com
EOF
5、安装docker
yum install -y wget 
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
yum -y install docker-ce-18.06.1.ce-3.el7 
systemctl enable docker && systemctl start docker

cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

二、安装cloud节点

1、安装kubeadm、kubelet、kubectl
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0 ipvsadm
2、将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF

sysctl --system

modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf

加载ipvs相关内核模块
如果重新开机,需要重新加载(可以写在 /etc/rc.local 中开机自动加载)

modprobe ip_vs
modprobe ip_vs_rr
modprobe ip_vs_wrr
modprobe ip_vs_sh
modprobe nf_conntrack_ipv4

查看是否加载成功

lsmod | grep ip_vs
3、部署kubernetes Master
systemctl enable kubelet
kubeadm init --apiserver-advertise-address=192.168.2.201 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12
apiserver-advertise-address地址对应修改为master ip

执行成功后需要执行如下命令
To start using your cluster, you need to run the following as a regular user:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

并复制保存最后的join命令
kubeadm join 192.168.2.201:6443 --token uzm4y0.t1x8tuurgtnybsht \
    --discovery-token-ca-cert-hash sha256:feaf0da3bf0d6ff6cdaeff51b4f9145a138061831a4350815312b2d21ea5ab07
4、部署网络插件CNI
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

kubectl get pods -n kube-system等待所有pod都为running状态

5、下载配置golang环境
wget https://golang.google.cn/dl/go1.15.3.linux-amd64.tar.gz
tar -zxvf go1.15.3.linux-amd64.tar.gz -C /usr/local

配置golang环境
vi /etc/profile

# golang env
export GOROOT=/usr/local/go
export GOPATH=/data/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

source /etc/profile
mkdir -p /data/gopath && cd /data/gopath
mkdir -p src pkg bin
6、下载KubeEdge源码
git clone https://github.com/kubeedge/kubeedge $GOPATH/src/github.com/kubeedge/kubeedge

#git指令安装: yum install -y git
#下载失败可以使用

git clone https://gitee.com/mirrors/KubeEdge.git $GOPATH/src/github.com/kubeedge/kubeedge

切换分支

cd $GOPATH/src/github.com/kubeedge/kubeedge && git checkout -b release-1.5 remotes/origin/release-1.5
7、编译kubeadm
cd $GOPATH/src/github.com/kubeedge/kubeedge
make all WHAT=keadm

编译后的二进制文件在./_output/local/bin下,单独编译cloudcore与edgecore的方式如下:

make all WHAT=cloudcore && make all WHAT=edgecore
8、提前下载安装包kubeedge-v1.5.0-linux-amd64.tar.gz
mkdir /etc/kubeedge
cd /etc/kubeedge && wget https://ghproxy.com/https://github.com/kubeedge/kubeedge/releases/download/v1.5.0/kubeedge-v1.5.0-linux-amd64.tar.gz

arm版下载链接:

wget https://ghproxy.com/https://github.com/kubeedge/kubeedge/releases/download/v1.5.0/kubeedge-v1.5.0-linux-arm64.tar.gz
9、创建cloud节点
cd $GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin
./keadm init --advertise-address="192.168.2.201" 
--advertise-address参数为cloud节点ip
10、添加系统服务
cp $GOPATH/src/github.com/kubeedge/kubeedge/build/tools/cloudcore.service /etc/systemd/system/cloudcore.service 
cp $GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin/cloudcore /etc/kubeedge/cloudcore 
systemctl daemon-reload 
systemctl enable cloudcore 
systemctl start cloudcore

三、安装edge节点

1、edge端mosquitto安装

添加EPEL软件库
下载mosquitto

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install mosquitto
2、提前下载安装包kubeedge-v1.5.0-linux-amd64.tar.gz
mkdir /etc/kubeedge
cd /etc/kubeedge && wget https://ghproxy.com/https://github.com/kubeedge/kubeedge/releases/download/v1.5.0/kubeedge-v1.5.0-linux-amd64.tar.gz
3、创建edge节点

在cloud节点执行获取token

cd $GOPATH/src/github.com/kubeedge/kubeedge/_output/local/bin/
./keadm gettoken
示例:627a75341b826dc5187e5ca16a7ad2a8b5ebf25b2351e2bab4f5a7db2ad2a8ec.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDkxNTU0NTV9.2fgxRXTlXO6GnecGmpJD2jhIX-QyVZy84IPHQQ1ewFc

将cloud端的keadm拷贝到edge端加入集群

scp keadm root@192.168.2.203:/root

​执行

./keadm join --cloudcore-ipport=<cloud所在的ip>:10000 --edgenode-name=<edge名字(自己取)> --kubeedge-version=1.5.0 --token=<前面获取的token值>

示例:

./keadm join --cloudcore-ipport=192.168.2.200:10000 --edgenode-name=node1 --kubeedge-version=1.5.0 --token=3a0a30db83552cf96e195027aa84a34602ee41db9913dcde09ad2235d295b49e.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MTMwMTgxMDZ9.UaGcyIeTvzQ7vnJEhhZuimG_u_OXtKkitfZSctH74nU

四、安装后残留问题解决

1、开启使用kubectl logs:

主节点执行

cp $GOPATH/src/github.com/kubeedge/kubeedge/build/tools/certgen.sh /etc/kubeedge/ 
cd /etc/kubeedge/ 
/etc/kubeedge/certgen.sh stream 

export CLOUDCOREIPS="192.168.2.201" 

iptables -t nat -A OUTPUT -p tcp --dport 10350 -j DNAT --to $CLOUDCOREIPS:10003 

修改如下文件

vi /etc/kubeedge/config/cloudcore.yaml 
cloudStream: 
 enable: true 
 streamPort: 10003 
 tlsStreamCAFile: /etc/kubeedge/ca/streamCA.crt 
 tlsStreamCertFile: /etc/kubeedge/certs/stream.crt 
 tlsStreamPrivateKeyFile: /etc/kubeedge/certs/stream.key 
 tlsTunnelCAFile: /etc/kubeedge/ca/rootCA.crt 
 tlsTunnelCertFile: /etc/kubeedge/certs/server.crt 
 tlsTunnelPrivateKeyFile: /etc/kubeedge/certs/server.key 
 tunnelPort: 10004

重启CloudCore服务

边缘节点执行

修改如下文件,server项改为主节点ip

vi /etc/kubeedge/config/edgecore.yaml

edgeStream:
  enable: true
  handshakeTimeout: 30
  readDeadline: 15
  server: 192.168.0.139:10004
  tlsTunnelCAFile: /etc/kubeedge/ca/rootCA.crt
  tlsTunnelCertFile: /etc/kubeedge/certs/server.crt
  tlsTunnelPrivateKeyFile: /etc/kubeedge/certs/server.key
  writeDeadline: 15

vi /etc/kubeedge/edgecore.service加入

Environment="CHECK_EDGECORE_ENVIRONMENT=false"

重启edgecore服务

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值