k8s搭建

全网最详细k8s搭建

centos内核下载地址

https://mirrors.aliyun.com/centos/7/isos/x86_64/

创建3台centos主机 网络设置成nat

image-20241226010748019

三台主机分别为

master

node1

node2

ip为

master:172.16.250.145

image-20241226002924809

node1:172.16.250.146

image-20241226002949352

node2:172.16.250.147

image-20241226003007265

第一步修改hosts 三台主机都要修改hosts

cat <<EOF >>/etc/hosts
172.16.250.145 master-1
172.16.250.146 node1
172.16.250.147 node2
EOF

image-20241226003707474

image-20241226004015567

注意要修先改一下hostname名字

master

hostnamectl set-hostname master-1

image-20241226003435226

node1

hostnamectl set-hostname node1

node2

hostnamectl set-hostname node2

第二步 docker环境搭建(所有机器都要)

首先所有的主机都要安装docker


# 安装docker所需的工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 配置阿里云的docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 指定安装这个版本的docker-ce
yum install -y docker-ce-18.09.9-3.el7
# 启动docker
systemctl enable docker && systemctl start docker

注意下无法安装docker所需工具的先修改一下centos的源

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

第三步设置k8s环境准备条件(所有机器都要)

# 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld

# 关闭selinux
# 临时禁用selinux
setenforce 0
# 永久关闭 修改/etc/sysconfig/selinux文件设置
sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

# 禁用交换分区
swapoff -a
# 永久禁用,打开/etc/fstab注释掉swap那一行。
sed -i 's/.*swap.*/#&/' /etc/fstab

# 修改内核参数
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF


sysctl --system

第四步 安装k8s v1.16.0 master管理节点

1.安装kubeadm、kubelet、kubectl(所有机器)

# 执行配置k8s阿里云源
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

# 安装kubeadm、kubectl、kubelet
yum install -y kubectl-1.16.0-0 kubeadm-1.16.0-0 kubelet-1.16.0-0

# 启动kubelet服务
systemctl enable kubelet && systemctl start kubelet

2. 安装k8s v1.16.0 master管理节点(注意master执行)

#注意ip为master主机的ip
#这一步会有个错误 不会管等个两分钟
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --apiserver-advertise-address 192.168.139.131 --pod-network-cidr=10.244.0.0/16 --token-ttl 0

image-20241226012149635

#执行上面提示的命令

#这个命令是在master主机上执行

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


image-20241226012605818

#这个命令是在两个node主机上执行
kubeadm join 172.16.250.145:6443 --token nk9ccv.8d5wvvvlcdbjcyap \
    --discovery-token-ca-cert-hash sha256:8bc5cf1d27f94676a26a986b1a0beaa0d9e742dd85f629cfcac96d655abc0546 

执行上面命令发现master主机上出现两个node的信息

image-20241226012748870

第五部:安装网络插件

安装calico (master机器)
# 安装 calico 网络插件
# 参考文档 https://docs.projectcalico.org/v3.9/getting-started/kubernetes/


yum install wget
wget https://kuboard.cn/install-script/calico/calico-3.9.2.yaml
export POD_SUBNET=10.244.0.0/16
sed -i "s#192\.168\.0\.0/16#${POD_SUBNET}#" calico-3.9.2.yaml
kubectl apply -f calico-3.9.2.yaml

安装flannel(master机器)
mkdir -p ~/k8s/
cd ~/k8s
curl -O https://gitee.com/mirrors/flannel/raw/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml

参考文章

https://blog.youkuaiyun.com/fly910905/article/details/120887686
https://www.jianshu.com/p/25c01cae990c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值