一、准备三台虚拟机,系统CentOS7.9;

    192.168.1.221 master1

    192.168.1.189  node1

    192.168.1.60  node2

二、.对三台虚拟机初始化

  1.关闭防火墙,关闭开机自启  

systemctl stop firewalld  #临时
systemctl disable firewalld  #永久

  2.关闭selinux

sed -i 's/enforcing/disabled/' /etc/selinux/config #永久
setenforce 0  #临时

  3.关闭swap

swapoff -a  #临时
sed -ri 's/.*swap.*/#&/' /etc/fstab #永久

  4.根据规划设置主机名,  

hostnamectl set-hostname <hostname>

  5.在master添加hosts

cat >> /etc/hosts << EOF
192.168.1.221 master1
192.168.1.189 node1
192.168.1.60 node2
EOF

  6.将桥接的IPV4流量传递到iptables的链

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF sysctl --system #重新加载配置

#加载网桥过滤模块
modprobe br_netfilter

#查看是否加载成功
lsmod | grep br_netfilter

  7.时间同步

yum install ntpdate -y
ntpdate time.aliyun.com

  8.安装ipset和ipvsadm

 yum install ipset ipvsadm -y

cat > /etc/sysconfig/modules/ipvs.modules << EOF
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF chmod +x /etc/sysconfig/modules/ipvs.modules
/bin/bash /etc/sysconfig/modules/ipvs.modules
lsmod | grep -e ip_vs -e nf_conntrack_ipv4

  

三、所有节点安装Docker/kubeadm/kubelet

  1.安装Docker

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo  #切换镜像源
yum list docker-ce --showduplicates  #查看docker版本列表
yum install docker-ce-20.10.8-3.el7 -y   #安装指定版本
systemctl enable docker && systemctl start docker #启动并开机自启
docker --version #查看docker版本

  2.配置阿里云容器镜像加速

mkdir /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://jukg1w30.mirror.aliyuncs.com"]
}
EOF systemctl restart docker

  3.添加阿里云YUM软件源 

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

  4.安装kubeadm,kubelet和kubectl

yum install -y --nogpgcheck kubelet-1.22.5 kubeadm-1.22.5 kubectl-1.22.5

#编辑/etc/sysconfig/kubelet
KUBELET_CGROUP_ARGS="--cgroup-driver=systemd"
KUBE_PROXY_MODE="ipvs"

#启动
systemctl enable kubelet
systemctl start kubelet
 

四、部署Kubernetes Master

  1. 在master节点执行

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

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

kubectl get nodes

  2.加入Kubernetes Node( 在node节点执行)

kubeadm join 192.168.1.221:6443 --token 2cyong.smy0f3dsnzeq7jly --discovery-token-ca-cert-hash sha256:9333a1bf2eaa80e31e61f49e8996aa787e14e20cf851ba6544322d8972b9fec7

  ps: token默认有效期24小时,过期不可用,需要在master重新创建token

kubeadm token create --print-join-command

五、部署CNI网络插件(Master节点执行)

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

kubectl apply -f kube-flannel.yml

六、测试kubernetes集群

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc #访问地址: http://NodeIP:Port

k8s集群安装(kubeadm方式)的更多相关文章

  1. K8s集群安装--最新版 Kubernetes 1.14.1

    K8s集群安装--最新版 Kubernetes 1.14.1 前言 网上有很多关于k8s安装的文章,但是我参照一些文章安装时碰到了不少坑.今天终于安装好了,故将一些关键点写下来与大家共享. 我安装是基 ...

  2. [转帖]K8s集群安装--最新版 Kubernetes 1.14.1

    K8s集群安装--最新版 Kubernetes 1.14.1 http://www.cnblogs.com/jieky/p/10679998.html 原作者写的比较简单 大略流程和跳转的多一些 改天 ...

  3. K8S集群安装部署

    K8S集群安装部署   参考地址:https://www.cnblogs.com/xkops/p/6169034.html 1. 确保系统已经安装epel-release源 # yum -y inst ...

  4. 企业运维实践-还不会部署高可用的kubernetes集群?使用kubeadm方式安装高可用k8s集群v1.23.7

    关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 文章目录: 0x00 前言简述 ...

  5. 从centos7镜像到搭建kubernetes集群(kubeadm方式安装)

    在网上看了不少关于Kubernetes的视频,虽然现在还未用上,但是也是时候总结记录一下,父亲常教我的一句话:学到手的东西总有一天会有用!我也相信在将来的某一天会用到现在所学的技术.废话不多扯了... ...

  6. 【二】Kubernetes 集群部署-kubeadm方式(亲测)

    一.概述 本次部署 Kubernetes 集群是通过 kubeadm 工具来进行部署, kubeadm 是 Kubernetes 官⽅提供的⽤于快速部署 Kubernetes 集群的⼯具,利⽤其来部署 ...

  7. K8s集群安装和检查(经验分享)

    一.组件方式检查 1. Master节点: root>> kubectl get cs 2. Node 节点: 无  二.服务方式检查 1. Master 节点: root>> ...

  8. Kubernetes(k8s)集群安装

    一:简介 二:基础环境安装 1.系统环境 os Role ip Memory Centos 7 master01 192.168.25.30 4G Centos 7 node01 192.168.25 ...

  9. install kubernetes cluster k8s集群安装

    一,安装docker-ce 17.031,下载rpm包 Wget -P /tmp https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/ ...

  10. K8s 集群安装(一)

    01,集群环境 三个节点   master node1 node2 IP 192.168.0.81 192.168.0.82 192.168.0.83 环境 centos 7 centos 7 cen ...

随机推荐

  1. Nebula Graph 1.0 Release Note

    Nebula Graph 1.0 发布了.作为一款开源分布式图数据库,Nebula Graph 1.0 版本旨在提供一个安全.高可用.高性能.具有强表达能力的查询语言的图数据库. 基本功能 DDL & ...

  2. 解决celery与django结合后,分别启动celery和django的进程同时调用定时任务的问题

    django中引入celery后发现在代码中写如下这样的定时任务,启动celery和django的工程后,他们都会调用这个定时任务导致,任务有的时候会冲突出现奇怪的问题.如何解决请继续看. sched ...

  3. Rabbit使用CorrelationId进行可靠性消息回调

    先放一张使用CorrelationId相关ID进行消息回调处理的流程图 客户端启动时,它将创建一个匿名回调队列 对于 RPC 请求,客户端发送一条消息,该消息具有两个属性: reply_to(设置为回 ...

  4. [程序] C++实现 http和https的反向代理程序

    目录 前言 代理原理 http代理 https代理 实现 客户端 服务端 遇到的所有问题记录 Python对于回复不响应 接受的数据只有4字节 最终数据已经发给Python了 但是Python还是阻塞 ...

  5. C++ //list容器 构造函数 //list赋值和交换 //list容器大小操作 //list插入和删除,移除 //清空 //list数据存取back(); front() //list 反转和排序

    1 //list容器 构造函数 //list赋值和交换 //list容器大小操作 2 //list插入和删除,移除 //清空 //list数据存取back(); front() 3 //list 反转 ...

  6. 微信小程序直播,腾讯云直播+微信小程序实现实时直播

    一:小程序代码端 小程序直播使用小程序组件 live-pusher 组件和live-player组件 首先开通直播权限 小程序开发工具内进行推流拉流都不会成功,所以需要使用两个手机进行推拉流测试: 1 ...

  7. 跨域! dev: 'http://192.168.40.81:9090/xxx-api/' 平台和项目 两个都要改 要不会跨域!跨域!跨域!

    跨域! dev: 'http://192.168.40.81:9090/xxx-api/' 平台和项目 两个都要改 要不会跨域!跨域!跨域!

  8. Atom安装插件的几种方式

    界面安装 打开Atom->File->Settings->Install 输入你想要安装的插件名/Theme名 命令行安装 打开cmd命令行程序 切换到.atom/package目录 ...

  9. Android 开发Day5

    展示项目 这是我的项目结构,补录的

  10. linux磁盘管理、网络

    一 磁盘管理 1 查看磁盘空间的占用 df -h 显示人类易读的方式 linux下磁盘命名格式 /dev/sd[a-z] 2 查看目录的占用空间 du -s 查看目录 -h 显示人类易读的方式 du ...