kubeedge v1.15 部署安装
系统环境:在部署k8s之前,请先完成虚拟机的初始化与网络环境配置,如果是升级集群请先使用reset重置集群。
系统环境:
ubuntu 22.04
K8s 1.26.7
kubeedge 1.15
在部署k8s之前,请先完成虚拟机的初始化与网络环境配置,如果是升级集群请先使用reset重置集群。本文参考以下链接:
https://juejin.cn/post/7208910021970952252
master 节点安装
1.安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
2.修改containerd配置
1.生成配置文件
containerd config default > /etc/containerd/config.toml
2.修改配置
vim /etc/containerd/config.toml
#修改61行附近的镜像源地址
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"
#修改125行附近的运行参数
SystemdCgroup = true
3.重启containerd
systemctl restart containerd
3.安装K8s
1.安装kubeadm等
sudo apt update
sudo apt install -y kubelet=1.26.7-00 kubeadm=1.26.7-00 kubectl=1.26.7-00
sudo apt-mark hold kubelet kubeadm kubectl
2.创建集群配置文件
vim kubeadm.yaml
######################
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
- system:bootstrappers:kubeadm:default-node-token
token: abcdef.0123456789abcdef
ttl: 24h0m0s
usages:
- signing
- authentication
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: 192.168.3.100 #修改为自己的ip
bindPort: 6443
nodeRegistration:
criSocket: unix:///var/run/containerd/containerd.sock
imagePullPolicy: IfNotPresent
name: master
taints: null
---
apiServer:
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers
kind: ClusterConfiguration
kubernetesVersion: 1.26.0
networking:
dnsDomain: cluster.local
serviceSubnet: 10.96.0.0/12
podSubnet: 10.244.0.0/16
scheduler: {}
4.创建集群
sudo kubeadm init —config kubeadm.yaml
5.配置参数
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
4.安装CNI插件
下载cni-plugins-linux-amd64-v1.3.0安装包并解压
tar zxvf cni-plugins-linux-amd64-v1.3.0.tgz -C /opt/cni/bin
kubeege云节点部署
1.从官网下载kubeedge与keadm安装包并解压
tar -xvf keadm-v1.15.0-linux-amd64.tar.gz
cp keadm-v1.15.0-linux-amd64/keadm/keadm /usr/bin/
2.将kubeedge安装包放在对应文件夹下
sudo mkdir /etc/kubeedge/
sudo cp kubeedge-v1.15.0-linux-amd64.tar.gz /etc/kubeedge/
sudo cp checksum_kubeedge-v1.15.0-linux-amd64.tar.gz.txt /etc/kubeedge/
3.使用keadm安装kubeedge的云端组件cloudcore
sudo keadm init --advertise-address=192.168.3.100 --kubeedge-version=1.15.0
$ mkdir -p /etc/cni/net.d
$ cat >/etc/cni/net.d/10-mynet.conf <<EOF
{
"cniVersion": "1.0.0",
"name": "mynet",
"type": "bridge",
"bridge": "cni0",
"isGateway": true,
"ipMasq": true,
"ipam": {
"type": "host-local",
"subnet": "10.224.0.0/16",
"routes": [
{ "dst": "0.0.0.0/0" }
]
}
}
EOF
重启containerd,在终端输入 ip a 确认有“cni0”这个网络
edge节点加入
1.安装containerd并修改配置
sudo apt-get install containerd.io
containerd config default > /etc/containerd/config.toml
#修改61行附近的镜像源地址
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"
edge节点为了与kubeedge的edged匹配,不需要修改systemd
2.部署keadm,虚拟机使用amd64,树莓派使用arm
tar -xvf keadm-v1.10.0-linux-amd64.tar.gz
sudo cp keadm-v1.10.0-linux-amd64/keadm/keadm /usr/bin/
tar -xvf keadm-v1.10.0-linux-arm64.tar.gz
sudo cp keadm-v1.10.0-linux-arm64/keadm/keadm /usr/bin/
3.部署CNI插件
下载cni-plugins-linux-amd64-v1.3.0安装包并解压
tar zxvf cni-plugins-linux-amd64-v1.3.0.tgz -C /opt/cni/bin
配置CNI插件
$ mkdir -p /etc/cni/net.d
$ cat >/etc/cni/net.d/10-mynet.conf <<EOF
{
"cniVersion": "1.0.0",
"name": "mynet",
"type": "bridge",
"bridge": "cni0",
"isGateway": true,
"ipMasq": true,
"ipam": {
"type": "host-local",
"subnet": "10.224.0.0/16",
"routes": [
{ "dst": "0.0.0.0/0" }
]
}
}
EOF
重启containerd,在终端输入 ip a 确认有“cni0”这个网络,确认地址与master节点相同。
4.加入集群
在云端使用keadm gettoken获得token
sudo keadm join --cloudcore-ipport=192.168.3.100:10000 --token=《》
常见问题
1.显示sandbox name is reserved
在edge节点加入失败后,containerd不会自动清除创建失败的容器,导致容器名被占用
ctr -n k8s.io c ls #查看容器
ctr -n k8s.io c rm ID #清除容器
清除后集群需要一段时间响应,如果仍然显示占用可以重启containerd
2. bridge not found
没有部署cni-plugins-linux-amd64-v1.3.0
3.cni init failed
边缘节点的cni插件初始化版本不对,请根据自己的cni版本调整
4.卡在edgecore run,或者启动后马上挂掉
kube-proxy与edgecore不兼容 ,kill kube-proxy进程并在云端修改配置。参考kubeedge官方文档。
5.failed to find plugin flannel in path
(在1.0.0版本后CNI Plugins中没有flannel)
下载后通过xftp 上传到Linux /home目录解压
tar zxvf cni-plugins-linux-amd64-v0.8.6.tgz
复制 flannel 到 /opt/cni/bin/
cp flannel /opt/cni/bin/
chmod 755 flannel #可执行权限
注意 在执行了上述操作后,可能导致cni0和flannel 网段不匹配,需要删除cni0并重新部署具体可以查看下方链接。
https://blog.csdn.net/0210/article/details/129403727
更多推荐
所有评论(0)