虚拟机使用kubeadm安装k8s(1.20.2版本)集群,从0-1

1、环境及配置

1、节点说明

一主两从

192.168.31.200 k8s-master

192.168.31.201 k8s-node1

192.168.31.202 k8s-node2

2、配置说明

主节点

2核 4g 20g

从节点

2核 4g 20g

3、关闭selinux

永久关闭selinux

sed -i 's/enforcing/disabled/g' /etc/selinux/config

更改后需重启系统

reboot

4、关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

5、关闭swap内存分区

永久关闭swap分区

echo vm.swappiness=0 >> /etc/sysctl.conf && sysctl -p
vim /etc/fstab

注释掉带有swap分区这行

在这里插入图片描述

swappiness参数的含义

  • swappiness是Linux的一个内核参数,控制系统在进行swap时,内存使用的相对权重。
  • swappiness参数值可设置范围在0-100之间。此参数值越低,就会让Linux系统尽量少用swap分区,多用内存;参数值越高就反过来,使内核更多的使用swap空间。
  • Centos系统此参数的默认值是30,即当物理内存低于70%(70=100-30)时,开始使用swap分区。设置为100可能会影响整体性能,如果内存充足,就可以
  • 将这个值设置很低。甚至为0。

swappiness=0

修改完毕后需要重启系统

reboot

6、修改各个节点hostname

命令

hostnamectl set-hostname [hostname]

在这里插入图片描述

7、为每个节点添加host解析

echo "192.168.31.200 k8s-master" >> /etc/hosts && echo "192.168.31.201 k8s-node1" >> /etc/hosts && echo "192.168.31.202 k8s-node2" >> /etc/hosts

8、将桥接的 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

9、同步时间

timedatectl set-timezone Asia/Shanghai
# 查看是否设置成功
timedatectl

如下图所示

10、添加kubernetes阿里云yum源

cat > /etc/yum.repos.d/kubernetes.repo << EOF
 [kubernetes]
 name=Kubernetes
 baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
 enabled=1
 gpgcheck=0
 repo_gpgcheck=0
 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
 EOF

2、开始安装

1、安装docker(公开版20.10.17)

1、安装软件依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

2、设置仓库(阿里云)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装docker engine-community

安装最新版docker engine-community

如果提示接受 GPG 密钥,请选是。

yum install -y docker-ce docker-ce-cli containerd.io

如果要安装特定版本,可以从存储库中列出可用版本,指定安装

yum list docker-ce --showduplicates | sort -r

在这里插入图片描述

指定版本安装方式

该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-20.10.9-3.el7。

yum install -y docker-ce-20.10.9-3.el7 docker-ce-cli-20.10.9-3.el7 containerd.io

4、启动docker(添加开机自启动)

systemctl start docker && systemctl enable docker

5、更改docker启动参数cgroups为systemd

vim /etc/docker/daemon.json

内容如下

{
	"max-concurrent-downloads": 10,
	"max-concurrent-uploads": 20,
	"registry-mirrors": [
		"https://docker.mirrors.ustc.edu.cn",
		"https://registry.cn-hangzhou.aliyuncs.com",
		"https://registry.docker-cn.com"
	],
	"exec-opts": [
		"native.cgroupdriver=systemd"
	]
}

启动参数说明,官方文档

https://docs.docker.com/engine/reference/commandline/dockerd/#options

更改后需重启docker

systemctl daemon-reload && systemctl restart docker

2、安装kubeadm、kubectl、kubelet(1.20.2)

yum install -y kubeadm-1.20.2 kubelet-1.20.2 kubectl-1.20.2

3、初始化master节点(192.168.31.200节点执行)

 kubeadm init \
--apiserver-advertise-address=192.168.31.200 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.20.2 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 

执行完毕后,导入配置

如果是root用户

export KUBECONFIG=/etc/kubernetes/admin.conf

如果是普通用户

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

4、工作节点加入集群

在master节点init完毕之后会有一行join命令,复制到各个节点去加入即可

在这里插入图片描述

kubeadm join 192.168.31.200:6443 --token xtkoy4.s8s8ulu8cve05qvl \
    --discovery-token-ca-cert-hash sha256:9f7217cac33ed25549daa998f0bdc3702a63a4d9f7677f3293dd3372c094a43f

5、安装网络插件(calico 3.18.0)

https://docs.projectcalico.org/v3.18/manifests/calico.yaml

需要先在浏览器下载,再通过rz上传到虚拟机中

kubectl apply -f calico.yaml

至此k8s集群部署完毕,使用kubectl get nodes可以看到k8s节点状态都是就绪状态

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,以下是使用kubeadm部署Kubernetes 1.27.4的步骤: 1. 确认k8s版本和环境:首先,确认您要部署的Kubernetes版本为1.27.4,并确保您的环境满足部署要求,例如操作系统版本、CPU和内存等。 2. 创建配置文件:根据您的需求,创建Kubernetes集群的配置文件,包括证书、网络插件、镜像源等。您可以根据实际情况进行配置。 3. 安装kubeadm:在两台Ubuntu 16.04 64位双核CPU虚拟安装kubeadm。您可以使用以下命令安装kubeadm: ```shell sudo apt-get update sudo apt-get install -y kubeadm ``` 4. 初始化Master节点:在其中一台虚拟上执行以下命令初始化Master节点: ```shell sudo kubeadm init --kubernetes-version=1.27.4 ``` 该命令将会初始化Kubernetes Master节点,并生成一个加入集群的命令。 5. 部署网络插件:根据您的配置文件选择网络插件,这里以flannel为例。在Master节点上执行以下命令部署flannel网络插件: ```shell kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 6. 加入Worker节点:在另一台虚拟上执行Master节点生成的加入集群的命令,将其加入到Kubernetes集群中: ```shell sudo kubeadm join <Master节点IP>:<Master节点端口> --token <Token值> --discovery-token-ca-cert-hash <证书哈希值> ``` 请将`<Master节点IP>`、`<Master节点端口>`、`<Token值>`和`<证书哈希值>`替换为实际的值。 至此,您已成功使用kubeadm部署了Kubernetes 1.27.4集群。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值