最新kubernetes云平台部署(k8s)(已成功搭建)

硬件要求

内存:2GB或更多

CPU: 2核CPU或更多

硬盘: 30GB或更多

本次环境说明:

操作系统:CentOS 7

master: 192.168.100.10

node01: 192.168.100.20

node02: 192.168.100.30

二、环境准备

1.关闭防火墙和selinux

关闭防火墙

systemctl stop firewalld && systemctl disable firewalld && iptables -F

关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config && setenforce 0

2. 关闭swap分区

临时关闭

swapoff -a

永久关闭swap

sed -ri 's/.*swap.*/#&/' /etc/fstab

3.修改hosts文件

设置主机名(不设置也可以,但是要保证主机名不相同)

master上

hostnamectl set-hostname master
bash

hostnamectl set-hostname node1
bash

hostnamectl set-hostname node2
bash

修改本地hosts文件

vi /etc/hosts 添加如下内容

192.168.100.10 master
192.168.100.20 node1
192.168.100.30 node2

3台服务器,确保网络桥接的数据包经过Iptables处理,启用相关的内核参数:

# 访问网络插件丢包

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

# 生效配置

sysctl --system

三、安装docker

1.配置yum源(这里使用阿里云的源)

yum install wget -y 
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

2. 安装docker

yum install docker-ce docker-ce-cli -y

3.编辑docker配置文件

编辑/etc/docker/daemon.json

配置 Docker 镜像加速器和设置 Cgroup 驱动:

# 配置加速器
cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": [
          "https://8er86g8v.mirror.aliyuncs.com",
          "https://docker.1panel.live/"
  ],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF

4.启动docker服务

systemctl daemon-reload && systemctl enable docker && systemctl start docker

5.安装指定版本的cri-docker

# 下载
wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.2/cri-dockerd-0.3.2-3.el7.x86_64.rpm

# 安装
rpm -ivh cri-dockerd-0.3.2-3.el7.x86_64.rpm

指定 cri-docker 依赖镜像地址为国内镜像地址:

# 修改配置
vim /usr/lib/systemd/system/cri-docker.service

将 ExecStart 配置改成下述这样:

ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.9

a6076341c0e84a09b378cd4fff95093a.png

重新加载 cri-docker 配置:

systemctl daemon-reload
systemctl enable cri-docker && systemctl start cri-docker

四、安装kubeadm,kubelet和kubectl

 1.配置yum源(这里使用阿里云的源)

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

2.安装指定版本的kubeadm,kubelet,kubectl

yum install -y kubelet-1.28.0 kubeadm-1.28.0 kubectl-1.28.0

# 设置开机自启
systemctl enable kubelet

由于不知道默认安装的最新版,国内的阿里云镜像站同步会有延迟,导致无法拉取镜像。如果你可以拉去到最新的镜像那请随意。

出现以下即为成功

85e6ba8a4615465ebfe065f37bed6d80.png

按照输出信息

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

 接下来去node1,node2执行(指定socket)(--cri-socket=unix:///var/run/cri-dockerd.sock)

kubeadm join 192.168.100.10:6443 --token 6rydpq.tg8bb47i0e0y25z0 --discovery-token-ca-cert-hash sha256:415e1eb8ada3da0581a1ffe7e90e3e29265526e42ea9ba7f682087bff3ae07a0 --cri-socket=unix:///var/run/cri-dockerd.sock

 如果遇到报错

参考以下解决

  1. 启用 kubelet 服务: 运行以下命令以启用并启动 kubelet 服务:

    systemctl enable kubelet.service 
    systemctl start kubelet.service
  2. 设置 IP 转发: 你需要确保 /proc/sys/net/ipv4/ip_forward 的值设置为 1。这可以通过以下命令完成:

    echo 1 > /proc/sys/net/ipv4/ip_forward

    为了确保在系统重启后仍然保持这个设置,你可以在 /etc/sysctl.conf 文件中添加或修改以下行:

    net.ipv4.ip_forward = 1

    然后,应用更改:

    sysctl -p
  3. 再次执行 join 命令: 在执行以上步骤后,重新尝试运行 kubeadm join 命令。

 下载calico插件入股

wget https://xuzhibin-bucket.oss-cn-beijing.aliyuncs.com/k8s/calico.yaml

 下载完毕后,修改 calico.yaml 文件中的 CALICO_IPV4POOL_CIDR 配置,修改成上面 pod-network-cidr 的值:10.244.0.0/16,如下所示:

b51781690951429d9fe4822744a723d9.png

修改完毕后,Master 启动配置文件:

kubectl apply -f calico.yaml

等待3分钟后,查看 Pod 运行状态,发现 pods 全部状态为 Running 成功,这样就说明 k8s 集群部署完毕了!:

kubectl get pods -A -o wide
 kubectl get nodes

 a9bcad4b4f564f3da2ecc5605d525729.png

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值