k8s 部署安装

该博客详细介绍了如何在CentOS系统上使用kubeadm部署Kubernetes集群,并配置Flannel作为网络插件。首先,通过关闭防火墙和Selinux,安装及配置Docker。接着,禁用swap,设置时间同步,并安装k8s相关组件。在控制节点上,初始化Kubernetes,拉取必要镜像,安装并配置Flannel。最后,在工作节点上加入集群,确保所有组件正常运行。
摘要由CSDN通过智能技术生成

k8s 部署安装


官网教程

从 docker 部署的 docker 配置官网:https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker
使用 kubeadm 引导集群 官网:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/
flannel 网络插件官网:https://github.com/coreos/flannel


实验

主机ipdocker 版本k8s
server2172.25.9.220.10.2v1.21.2 master
server3172.25.9.320.10.2v1.21.2 client
server4172.25.9.420.10.2v1.21.2 client

# 提示,关闭防火墙,selinux。减少实验出错。
setenforce 0
vim /etc/selinux/config
……
SELINUX=disabled
……

systemctl disable --now firewalld

# 安装与部署docker:
## server2、server3、server4:

vim /etc/yum.repos.d/docker-ce.repo
[docker]
name=docker-ce
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/
gpgcheck=0


yum install -y docker-ce
vim /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-iptables = 1 
net.bridge.bridge-nf-call-ip6tables = 1 

systemctl enable --now docker

vim /etc/docker/daemon.json
{
	"registry-mirrors": ["https://71gte742.mirror.aliyuncs.com"],
	"exec-opts": ["native.cgroupdriver=systemd"],
 	"log-driver": "json-file",
 	"log-opts": {
   	"max-size": "100m"
 	},
  	"storage-driver": "overlay2",
  	"storage-opts": [
    		"overlay2.override_kernel_check=true"
  	]
}

systemctl daemon-reload 
systemctl restart docker

# k8s 部署前工作:
## 禁用 swap 分区
swapoff -a
vim /etc/fstab
## 免密
ssh-keygen 
ssh-copy-id server3
ssh-copy-id server4

## 宿主机同步网络时间
vim /etc/chrony.conf
 ……
 11 server 210.72.145.44 prefer
 12 server ntp1.aliyun.com iburst
 13 server ntp2.aliyun.com iburst
 ……
 31 allow 0.0.0.0/0
 ……
 
## 时间同步
yum search chronyd
yum install -y chrony.x86_64
vim /etc/chrony.conf
server 172.25.9.250 iburst
systemctl enable --now chronyd

chronyc sources -v


# k8s 部署安装
## server2、server3、server4:
vim /etc/yum.repos.d/k8s.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0


yum install -y kubelet kubeadm kubectl
systemctl enable --now kubelet.service 


# 控制节点部署
server2:

## 查看默认配置
kubeadm config print init-defaults
## 列出所需镜像,从registry.aliyuncs.com/google_containers 默认从k8s 下载需要翻墙
kubeadm config images list --image-repository registry.aliyuncs.com/google_containers
## 拉取所需镜像,加快初始化速度。注意:当前版本所需的 registry.aliyuncs.com/google_containers/coredns:v1.8.0 阿里上没有,本人是从dockerhub 下载相应所需的版本,重新打标签,否则初始化过不去。
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers

### coredns官网拉取coredns/coredns:1.8.0 镜像重新打标签。
docker pull coredns/coredns:1.8.0
docker image tag coredns/coredns:1.8.0 registry.aliyuncs.com/google_containers/coredns:v1.8.0

### 初始化控制节点,注意初始化成功后,会有提示,client 节点加入集群的命令。client 加入集群时直接执行它就好,token 有效期限是 24 小时。
#### --pod-network-cidr=10.244.0.0/16  //使用flannel网络组件时必须添加
#### --image-repository  指定镜像库
kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers

#### 配置kubectl
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

#### 配置kubectl命令补齐功能
echo "source <(kubectl completion bash)" >> ~/.bashrc

#### 查看kube-system 下pod 是否running,和 ready。
kubectl get pod --namespace kube-system

#### 安装flannel网络组件
docker pull quay.io/coreos/flannel:v0.14.0
docker pull quay.io/coreos/flannel:v0.12.0-amd64
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

#### 将client 节点所需镜像打包,其它节点直接导入。或者有harbor 私有仓库,直接上传至仓库,从私有仓库拉取。
docker save quay.io/coreos/flannel:v0.14.0 quay.io/coreos/flannel:v0.12.0-amd64 
\ registry.aliyuncs.com/google_containers/coredns:v1.8.0 
\ registry.aliyuncs.com/google_containers/pause:3.4.1 
\ registry.aliyuncs.com/google_containers/kube-proxy:v1.21.2 > node.tar


# 工作节点配置
server3、4:
## 导入所需镜像之后,直接执行控制节点初始化时提示的加入,集群命令加入就可。
docker load -i node.tar
kubeadm join 172.25.9.2:6443 --token mmpdxz.441h4rllmjurgdjj --discovery-token-ca-cert-hash sha256:5892a1fae2cc7633c8b280d656c9f934538fcf777f0398e030e8d82bffbc2c66
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值