搭建K8S集群

这篇具有很好参考价值的文章主要介绍了搭建K8S集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

搭建K8S集群

部署环境

  • 三台2核2G 20G硬盘的服务器或虚拟机,文中使用的系统是centos7.9
  • docker:19.03.15-3.el7
  • kubernetes:1.23.6

初始化操作

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭selinux

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

关闭硬盘swap分区

sed -ri 's/.*swap.*/#&/' /etc/fstab

完成初始化操作后重启服务器(虚拟机)

根据规划设置主机名并修改/etc/hosts文件

hostnamectl set-hostname <hostname>

安装docker(所有节点)

安装docker镜像源并创建yum元数据缓存

[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

yum makecache创建元数据缓存

查看可用的docker-ce版本

yum list docker-ce --showduplicates
搭建K8S集群

安装指定版本的docker

yum -y install docker-ce-19.03.15-3.el7

启动docker并加入开机自启

systemctl start docker && systemctl enable docker

编辑/etc/docker/daemon.json文件(没有就新建一个),配置docker镜像加速和相关配置项

搭建K8S集群

重启docker

systemctl daemon-reload
systemctl restart docker

安装kubernetes(所有节点)

安装kubernetes镜像源

[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

安装指定版本的kubeadm、kubectl、kubelet

yum -y install kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6

部署k8s-master

将kubelet加入开机启动项

systemctl enable kubelet

初始化k8s-master

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

搭建K8S集群
出现上图提示表示安装成功

配置k8s环境变量

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

k8s-node加入k8s集群

搭建K8S集群

上文中初始化成功后会有kubeadm join命令,将其复制粘贴到需要加入k8s集群的node服务器上执行,以下是成功加入后的状态
搭建K8S集群

在k8s-master上执行kubectl get nodes查看所有节点
搭建K8S集群

在k8s-master上执行kubectl get componentstatus查看所有组件
搭建K8S集群

此时各节点的状态还是NotReady,还没有部署好

使用kubectl get pods -n kube-system查看kube-system该命名空间中的pod,发现有两个pod处于pending状态
搭建K8S集群

使用kubectl describe pods -n kube-system coredns-6d8c4cb4d-nvrcl查看第一个没有部署好的pod
搭建K8S集群

pod描述中的警告是失败的调度,由于存在污点"node.kubernetes.io/not-ready",被部署的pod不能容忍这个污点导致无法部署pod(污点和容忍会在后续的文章中介绍)

这是还没有部署网络插件,master无法访问node导致的

部署CNI网络插件

下载calico配置文件

curl -O https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml

修改calico配置文件

修改"CALICO_IPV4POOL_CIDR"配置项,与k8s初始化时的CIDR相同,上文中是"10.244.0.0/16"
搭建K8S集群

修改docker镜像地址,原有的docker镜像地址是docker官网镜像地址,删除"docker.io/",使用自己的镜像加速地址
搭建K8S集群

使用kubectl apply -f calico.yaml构建pod,使用kubectl get pods -n kube-system查看pods
搭建K8S集群

构建容器需要下载镜像,需要等待一段时间,待所有pod部署完成后,查看node状态
搭建K8S集群文章来源地址https://www.toymoban.com/news/detail-825210.html

到了这里,关于搭建K8S集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 商城-学习整理-集群-K8S-集群环境部署(二十四)

    MySQL-MMM是Master-MasterReplicationManagerforMySQL(mysql主主复制管理器)的简称,是Google的开源项目。 (Perl脚本)。MMM基于MySQL Replication做的扩展架构,主要用来监控mysql主主复制并做失败转移。其原理是将真实数据库节点的IP(RIP)映射为虚拟IP(VIP)集。mysql-mmm的监管端会提供多个

    2024年02月11日
    浏览(34)
  • 使用Kind搭建本地k8s集群环境

    目录 1.前提条件 2.安装Kind 3.使用Kind创建一个K8s集群 3.1.创建一个双节点集群(一个Master节点,一个Worker节点) 3.2.验证一下新创建的集群信息  3.3.删除刚刚新建的集群  4.安装集群客户端  4.1.安装kubectl 4.1.1.验证kubectl 4.2.安装Lens 4.2.1.下载最新Lens安装包 4.2.2.打开Lens 4.参考文

    2024年02月11日
    浏览(38)
  • K8s 入门指南(一):单节点集群环境搭建

    官方文档:Kubernetes 文档 | Kubernetes 系统配置 CentOS 7.9(2 核 2 G) 本文为 k8s 入门指南专栏,将会使用 kubeadm 搭建单节点 k8s 集群,详细讲解环境搭建部署的细节,专栏后面章节会以实战代码介绍相关概念,带您快速入门 k8s k8s 集群搭建有三种方式,目前主流的搭建 k8s 集群的方

    2024年02月05日
    浏览(34)
  • 使用 RKE 方式搭建 K8s 集群并部署 NebulaGraph

    本文由社区用户 Albert 贡献,首发于 NebulaGraph 论坛,旨在提供多一种的部署方式使用 NebulaGraph。 在本文,我将会详细地记录下我用 K8s 部署分布式图数据库 NebulaGraph 的过程。下面是本次实践的内容规划: 一到十章节为 K8s 集群搭建过程; 十一到十五章节为参考 NebulaGraph 官方

    2024年02月14日
    浏览(32)
  • CentOS 7.9 环境下搭建k8s集群(一主两从)

    目录 一、硬件准备(虚拟主机) 二、环境准备 1、所有机器关闭防火墙 2、所有机器关闭selinux 3、所有机器关闭swap 4、所有机器上添加主机名与ip的对应关系 5、在所有主机上将桥接的ipv4流量传递到iptables的链 三、为所有节点安装docker 四、集群部署 1、为所有节点修改仓库,

    2024年03月14日
    浏览(39)
  • K8s(kubernetes)集群搭建及dashboard安装、基础应用部署

    本质是一组服务器集群,在集群每个节点上运行特定的程序,来对节点中的容器进行管理。实现资源管理的自动化。 自我修复 弹性伸缩 服务发现 负载均衡 版本回退 存储编排 控制节点(master)-控制平面 APIserver :资源操作的唯一入口 scheduler :集群资源调度,将Pod调度到node节

    2024年02月08日
    浏览(35)
  • 搭建NFS服务器,部署k8s集群,并在k8s中使用NFS作为持久化储存

    🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 目录 一、前言 1、k8s概述 2、NFS简介 二、NFS服务器搭建 1、准备NFS 服务器 2、搭建NFS服务 三、安装k8s集群 1、环境准备 2、禁用防火墙和SELinux 3、设置时间同步

    2024年04月13日
    浏览(28)
  • 【云原生】二进制部署k8s集群(中)搭建node节点

    在上文已经成功部署了etcd分布式数据库、master01节点, 本文将承接上文的内容,继续部署Kubernetes集群中的 worker node 节点和 CNI 网络插件 kubelet 采用 TLS Bootstrapping 机制,自动完成到 kube-apiserver 的注册,在 node 节点量较大或者后期自动扩容时非常有用。   Master apiserver 启用 T

    2024年02月09日
    浏览(46)
  • 【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.27.0版本

    官方文档: 二进制下载地址 环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 主机名 IP地址 操作系统 master-1 16.32.15.200 CentOS7.8 node-1 16.32.15.201 CentOS7.8 node-2 16.32.15.202 CentOS7.8 1、关闭防火墙 2、配置域名解

    2024年02月08日
    浏览(66)
  • 【Kubernetes部署篇】Kubeadm方式搭建K8s集群 1.26.0版本

    官方文档: 二进制下载地址 环境规划: pod网段:10.244.0.0/16 service网段:10.10.0.0/16 注意: pod和service网段不可冲突,如果冲突会导致K8S集群安装失败。 容器运行时本次使用containerd。 主机名 IP地址 操作系统 master-1 16.32.15.200 CentOS7.8 node-1 16.32.15.201 CentOS7.8 node-2 16.32.15.202 CentOS

    2024年02月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包