kubeedge安装-centos7

kubeedge安装-centos7

一、主节点安装

1、环境准备 

# 修改安装策略

sudo setenforce 0

sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 关闭防火墙

sudo systemctl stop firewalld

sudo systemctl disable firewalld

# 禁用 swap

sudo swapoff -a

sudo sed -i '/\sswap\s/s/^/#/' /etc/fstab

# 加载内核模块

sudo modprobe overlay

sudo modprobe br_netfilter

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf

overlay

br_netfilter

EOF

# 置网络参数

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

EOF

sudo sysctl --system

  1. 安装 Docker

# 安装必要的工具

sudo yum install -y yum-utils

# 添加 Docker CE 官方仓库(CentOS 7 专用)

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 如果遇到 GPG 密钥错误,可以添加

sudo rpm --import https://download.docker.com/linux/centos/gpg

# 安装docker

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 

# 创建 Docker 配置文件

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<EOF

{

  "exec-opts": ["native.cgroupdriver=systemd"],

  "log-driver": "json-file",

  "log-opts": {"max-size": "100m"},

  "storage-driver": "overlay2",

  "registry-mirrors": [

"Docker Hub 镜像加速服务",

"https://dockerhub.timeweb.cloud"

  ]

}

EOF

# 启动 Docker

sudo systemctl daemon-reload

sudo systemctl enable docker --now

  

3、 安装 cri-dockerd

# 下载最新版本(以 v0.3.4 为例)

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.10/cri-dockerd-0.3.10-3.el7.x86_64.rpm

# 安装 RPM 包

sudo yum install -y cri-dockerd-0.3.10-3.el7.x86_64.rpm

# 修改配置文件

sudo sed -i '/^ExecStart=/ s|--container-runtime-endpoint fd://|--pod-infra-container-image registry.k8s.io/pause:3.9|' /usr/lib/systemd/system/cri-docker.service

# 覆盖现有crictl配置

sudo tee /etc/crictl.yaml <<EOF

runtime-endpoint: unix:///var/run/cri-dockerd.sock

image-endpoint: unix:///var/run/cri-dockerd.sock

timeout: 5

debug: false

EOF

# 重新加载 systemd

sudo systemctl daemon-reload

# 启动服务

sudo systemctl enable --now cri-docker

# 检查配置

cat /etc/crictl.yaml

# 测试连接

sudo crictl ps

4、安装k8s

# 安装版本v1.28.2,v1.29.0存在兼容性问题 

# 添加 Kubernetes 仓库

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/

enabled=1

gpgcheck=1

gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key

EOF

# 安装 kubeadm/kubelet/kubectl v1.28.0

sudo yum install -y kubelet-1.28.0 kubeadm-1.28.0 kubectl-1.28.0 --disableexcludes=kubernetes

sudo systemctl enable --now kubelet

  

# 初始化 Master 节点​​

# 生成初始化配置文件​​

kubeadm config print init-defaults > kubeadm.yaml

# 修改关键配置,下面的<MASTER_IP>修改为自己的节点IP

sed -i 's/advertiseAddress: 1.2.3.4/advertiseAddress: <MASTER_IP>/' kubeadm.yaml
sed -i 's/name: node/name: k8s-master/' kubeadm.yaml

cat <<EOF >> kubeadm.yaml
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
EOF

​​

# 将criSocket的值改为:unix:///var/run/cri-dockerd.sock

sudo sed -i 's|unix:///var/run/cri-dockerd.sock|unix:///run/containerd/containerd.sock|g' kubeadm.yaml

# 初始化集群​​

sudo kubeadm init --config=kubeadm.yaml --upload-certs | tee kubeadm-init.log

​​

# 配置 kubectl​​

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

# 安装calico

kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.0/manifests/calico.yaml

# 验证 Calico 安装​ 

kubectl get pods -n kube-system -w  

5、安装keadm

# 获取 KubeEdge 1.19.2 安装文件​

wget https://github.com/kubeedge/kubeedge/releases/download/v1.19.2/keadm-v1.19.2-linux-amd64.tar.gz

tar -xvf keadm-v1.19.2-linux-amd64.tar.gz

cd keadm-v1.19.2-linux-amd64/keadm

sudo cp keadm /usr/local/bin/

6、 云端安装(CloudCore)​

# 初始化云端​

# 如在master节点安装移除污点

kubectl taint nodes k8smaster node-role.kubernetes.io/control-plane:NoSchedule-

# 初始化,下面的<MASTER_IP>修改为自己的节点ip 

sudo keadm init \

  --kube-config=$HOME/.kube/config \

  --advertise-address=<MASTER_IP> \

  --kubeedge-version=1.19.2 \

  --set cloudcore.image.repository=registry.cn-hangzhou.aliyuncs.com/kubeedge/cloudcore \

  --set cloudcore.image.tag=v1.19.2

sudo keadm init --advertise-address=<MASTER_IP> --kube-config=$HOME/.kube/config --set iptablesManager.mode="external"  --kubeedge-version=1.19.2

# 打标签防止云端的一些damonset pod调度到边缘端

 kubectl get daemonset -n kube-system |grep -v NAME |awk '{print $1}' | xargs -n 1 kubectl patch daemonset -n kube-system --type='json' -p='[{"op": "replace","path": "/spec/template/spec/affinity","value":{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"node-role.kubernetes.io/edge","operator":"DoesNotExist"}]}]}}}}]'

# 安装metrics-server,便于查看边缘节点的pod日志

 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

# 如果镜像拉不下来可选

docker pull registry.aliyuncs.com/google_containers/metrics-server:v0.7.2

docker tag registry.aliyuncs.com/google_containers/metrics-server:v0.7.2 registry.k8s.io/metrics-server/metrics-server:v0.7.2

# 忽略metrics-server的tls证书校验

 kubectl patch deploy metrics-server -n kube-system --type='json' -p='[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value":"--kubelet-insecure-tls"}]'

 二、边缘点安装

1、环境准备

重复主节点上的步骤1-3,即环境准备、安装docker、安装 cri-dockerd

2、安装cni

sudo mkdir -p /opt/cni/bin

sudo tar -C /opt/cni/bin -xzvf cni-plugins-linux-arm64-v1.1.1.tgz

sudo mkdir -p /etc/cni/net.d

sudo vim /etc/cni/net.d/10-containerd-net.conflist

{

  "cniVersion": "1.0.0",

  "name": "containerd-net",

  "plugins": [

    {

      "type": "bridge",

      "bridge": "cni0",

      "isGateway": true,

      "ipMasq": true,

      "promiscMode": true,

      "ipam": {

        "type": "host-local",

        "ranges": [

          [{

            "subnet": "10.88.0.0/16"

          }],

          [{

            "subnet": "2001:db8:4860::/64"

          }]

        ],

        "routes": [

          { "dst": "0.0.0.0/0" },

          { "dst": "::/0" }

        ]

      }

    },

    {

      "type": "portmap",

      "capabilities": {"portMappings": true}

    }

  ]

}

3、安装keadm

重复主节点步骤5安装keadm

  1. 执行join命令

sudo rm -rf /etc/kubeedge/

# CLOUD_CORE_IPPORT,主节点+默认端口号10000,如10.32.6.65:10000

# EDGE_NODE_NAME 自定义边缘节点名称,不可重复

sudo ./keadm join \

    --cloudcore-ipport=${CLOUD_CORE_IPPORT} \

    --token=${TOKEN} \

    --kubeedge-version=1.19.2 \

    --edgenode-name=${EDGE_NODE_NAME} \

    --remote-runtime-endpoint=unix:///var/run/cri-dockerd.sock \

    --cgroupdriver=systemd

另有一键离线安装包可私信领取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值