版本和硬件配置信息

1、版本信息

        liunx内核:5.4.239-1.el7.elrepo.x86_64

        操作系统:CentOS 7.9

        kubelet-1.23.6

        kubeadm-1.23.6

        kubectl-1.23.6

2、服务器配置

        阿里云一台:2核4G

        腾讯云两台:2核4G

搭建k8s

1、打开k8s常用端口

        参考这篇文章

2、安装最新docker

 -- 清除安装
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

 -- 下载
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

 -- 安装
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

 -- 启动
sudo systemctl start docker

 -- 开机自启
sudo systemctl enable docker

 -- 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json<<-'EOF' 
{

        "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
        "exec-opts": [
        "native.cgroupdriver=systemd"
        ]

}
EOF

--重启

sudo systemctl daemon-reload
sudo systemctl restart docker

 3、关闭交换分区

swapoff -a

free -m

4、重命名服务器主机名字

sudo hostnamectl set-hostname 名字

 5、添加虚拟网卡(一定要加,不然初始化不会成功)

cat > /etc/sysconfig/network-scripts/ifcfg-eth0:1 <<EOF
BOOTPROTO=static
DEVICE=eth0:1
IPADDR=你的公网IP
PREFIX=32
TYPE=Ethernet
USERCTL=no
ONBOOT=yes
EOF
# step2 如果是centos8,需要重启
systemctl restart network
# step3 查看新建的IP是否进去
ip addr 或者 ifconfig

 6、修改内核信息

cat <<EOF >>  /etc/sysctl.conf 
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF

--
sysctl -p

 7、添加host

cat >> /etc/hosts << EOF
你的ip k8s-master
你的ip k8s-node1
你的ip k8s-node2
EOF

 8、添加kubernetes 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

9、安装kubeadm,kubelet,kubectl,并且指定版本,因为1.24的版本默认运行时环境不是docker了,并且设置开机自启

yum install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6

---

systemctl enable kubelet

 10、提前准备coredns:1.8.4的镜像

docker pull  coredns/coredns:1.8.4

---

docker tag coredns/coredns:1.8.4 registry.aliyuncs.com/google_containers/coredns:v1.8.4

 注意:这上面的这些步骤在每台服务器上都要进行操作

11、在master服务器上进行初始化操作

kubeadm init \
--kubernetes-version 1.23.6 \
--apiserver-advertise-address=你的ip \
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16

 12、完成初始化的新建文件和目录的操作,在master上完成

mkdir -p $HOME/.kube

---
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

---
sudo chown $(id -u):$(id -g) $HOME/.kube/config

 13、在node服务器上进行,加入集群

kubeadm join 192.168.44.210:6443 --token 0xp3gm.wzbsahhxwa1dtaeh \
    --discovery-token-ca-cert-hash sha256:bc28a61b1de3bfa7cb95c619ef050fe67238471347b16d9e34e400e405efe0bb

 14、在master上查看node节点信息

kubectl get nodes

NAME         STATUS     ROLES                  AGE     VERSION
k8s-master   NotReady   control-plane,master   11m     v1.23.6
k8s-node1    NotReady   <none>                 3m49s   v1.23.6
k8s-node2    NotReady   <none>                 100s    v1.23.6
k8s-node3    NotReady   <none>                 96s     v1.23.6

 15、在master服务器安装网络插件flannel

---下载

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

---执行

kubectl apply -f kube-flannel.yaml

注意查看红色字体,按照步骤直接无脑安装正常是可以随便跑的!

 ok结束下班!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐