Centos7.9使用kubeadm部署K8S单机环境
使用kubeadm部署一个k8s单机环境
1. 环境信息
- 操作系统:CentOS 7.9.2009
- 内存: 4GB
- CPU: 2
- 网络: 能够互访,能够访问互联网
hostname | ip | 备注 |
---|---|---|
k8s | 192.168.0.159 | master + worker |
2. 准备工作
在所有节点(包括 Master 和 Worker 节点)上执行以下步骤。
2.1 linux基础配置
# 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
# 关闭 swap
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
# 关闭 selinux
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# 设置时区
timedatectl set-timezone Asia/Shanghai
# 时间同步
yum -y install ntpdate
ntpdate time.windows.com
hwclock --systohc
# 将桥接的IPv4流量传递到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 # 生效
2.2 安装 Docker
# 添加镜像源
curl https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
# 查看docker-ce的版本列表
yum list docker-ce --showduplicates | sort -r
# 安装20.10
yum -y install docker-ce-20.10.6-3.el7
systemctl start docker
systemctl enable docker
# 换成阿里Docker仓库
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://wnsrsn9i.mirror.aliyuncs.com"]
}
EOF
# 重启配置生效
systemctl restart docker
docker info
...
Registry Mirrors:
https://wnsrsn9i.mirror.aliyuncs.com/
...
2.3 安装 kubeadm、kubelet 和 kubectl
# 添加镜像源
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
# 查看支持的版本
yum list kubelet --showduplicates | sort -r
# 安装
yum install -y kubelet-1.22.0 kubeadm-1.22.0 kubectl-1.22.0
# 配置kubelet服务自启动
systemctl enable kubelet
3. 单机部署
# 设置hostname
hostnamectl set-hostname k8s
cat >> /etc/hosts << EOF
192.168.0.159 k8s
EOF
# 初始化 Master
kubeadm init \
--apiserver-advertise-address=192.168.0.159 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.22.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
...
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):