本地虚拟机搭建k8s集群完整篇

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

1.安装前置条件

在开始之前,部署Kubernetes集群机器需要满足以下几个条件:

  • 一台或多台机器【本人是三个,一个master,两个node】,操作系统 CentOS7.x-86_x64
  • 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB及以上
  • 集群中所有机器之间网络互通
  • 可以访问外网,需要拉取镜像
  • 禁止swap分区
  • 本地虚拟机搭建k8s集群完整篇

 此处提供了安装虚拟机的一篇教程

安装参考链接
https://www.runoob.com/w3cnote/vmware-install-centos7.html

注:以下命令有的是需要在不同的机器去执行,有的是在所有的机器执行,请注意区分

2、安装之后系统的前置要求

2.1 关闭防火墙,三台机器全关闭

systemctl stop firewalld


2.2、关闭selinux,三台机器全关闭

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


2.3、关闭swap ,三台机器全关闭

swapoff -a


2.4、设置主机名

hostnamectl set-hostname 主机名,三个主机名分别设置成k8s-master,k8s-node1,k8s-node2


2.5、在master添加hosts

cat /etc/hosts
自己的IP k8s-master
自己的IP k8s-node1
自己的IP k8s-node2

2.6 将桥接的IPv4流量传递到iptables的链

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

2.7执行以下命令让设置生效

sysctl --system 

3、安装docker

3.1 安装docker依赖包

yum install -y yum-utils

3.2因为某些原因可能访问不到国外仓库或者速度较慢,此处设置为阿里的镜像仓库

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

3.3安装docker服务

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

3.4启动docker服务

systemctl start docker

3.5查看docker服务是否正常启动成功

systemctl status docker

本地虚拟机搭建k8s集群完整篇

出现如图则表示docker服务成功启动。

3.6 添加阿里云YUM软件源

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
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

3.7 安装kubeadm、kubelet和kubectl 由于版本更新频繁 此处指定版本安装

yum install -y kubeadm-1.19.0 kubelet-1.19.0 kubectl-1.19.0

此处执行命令以后如果出现以下两种错误:
错误一:
Error: Package: kubelet-1.19.2-0.x86_64 (kubernetes)
Requires: conntrack
错误二:
Error: Package: kubelet-1.14.2-0.x86_64 (kubernetes)
Requires: kubernetes-cni = 0.7.5

尝试一下解决方案:下载yum源,安装依赖包

cd /etc/yum.repos.d/
wget http://mirrors.aliyun.com/repo/epel-7.repo
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release
yum install conntrack-tools

3.8成功后启动k8s服务

systemctl enable kubelet

注:以上操作在三台机器都需要执行成功

4.在master节点上部署kubetnets 注:该操作只需要在master上面执行

kubeadm init --kubernetes-version=1.19.0 --apiserver-advertise-address=master的ip --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 

如果看到如下successfully,那么恭喜你成功啦

本地虚拟机搭建k8s集群完整篇

4.1创建文件夹将admin.conf文件 copy到对应的位置

mkdir -p $HOME/.kube 

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config 

sudo chown $(id -u):$(id -g) $HOME/.kube/config

scp -p /etc/kubernetes/admin.conf 【node1 OR node2】:/etc/kubernetes/admin.conf

4.2 接下来将两台node加入到集群中,分别在node1根node2执行刚刚 kubeadm init成功后下面打印的命令:

本地虚拟机搭建k8s集群完整篇

 4.3执行完命令后,在master节点中执行命令查看是否如图:

kubectl get nodes

本地虚拟机搭建k8s集群完整篇

如上图则表示成功了,如果报错:

The connection to the server localhost:8080 was refused - did you specify the right host or port?

解决方法:

4.3.1:将主节点(master)中的“/etc/kubernetes/admin.conf”文件拷贝到两个node节点相同目录下,如图所示:

本地虚拟机搭建k8s集群完整篇

 4.3.2:配置环境变量

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

4.3.3:让配置立即生效

source ~/.bash_profile

5.安装部署CNI网络插件

5.1:在master机器上执行命令

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 

5.2:成功后验证一下

 kubectl get pods -n kube-system

如果出现如下则恭喜你再一次成功啦

本地虚拟机搭建k8s集群完整篇

到此k8s的安装部署基本结束了,剩下的我们来

6 验证该集群是否可用

6.1 在kubenetes集群中创建一个pod 创建nginx

kubectl create deployment nginx --image=nginx

6.2 暴露Nginx端口

kubectl expose deployment nginx --port=80 --type=NodePort

6.3 查看Nginx端口

kubectl get pod,svc

如图所示:31669就是Nginx的访问端口本地虚拟机搭建k8s集群完整篇

 6.4任意一个节点的ip加上端口访问看是否成功

本地虚拟机搭建k8s集群完整篇

 如上图则表示该集群搭建成功了。

以上的步骤都是我自己在本地实际操作过的,可能又些许借鉴的意义,但是可能你在自己安装过程中可能会遇到各种奇怪的问题,可以自己查找资料解决也可以一起沟通解决。

友情链接:k8s详细教程-调整版/k8s详细教程.md · yooome/LearningNotes - Gitee.com文章来源地址https://www.toymoban.com/news/detail-430456.html

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

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

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

相关文章

  • 【云原生-K8s-1】kubeadm搭建k8s集群(一主两从)完整教程及kubernetes简介

    【云原生-K8s-1】kubeadm搭建k8s集群(一主两从)完整教程及kubernetes简介

    🍁 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入!   Kubernetes(简称:k8s) 是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多

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

    使用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日
    浏览(11)
  • Kubernetes(k8s)集群搭建,完整无坑,不需要科学上网~

    Kubernetes(k8s)集群搭建,完整无坑,不需要科学上网~

    k8s集群,每一台机器需要2核CPU+2G的内存。 我们此次搭建的集群环境,各个版本如下: Docker 18.09.0 kubeadm-1.14.0-0 kubelet-1.14.0-0 kubectl-1.14.0-0 k8s.gcr.io/kube-apiserver:v1.14.0 k8s.gcr.io/kube-controller-manager:v1.14.0 k8s.gcr.io/kube-scheduler:v1.14.0 k8s.gcr.io/kube-proxy:v1.14.0 k8s.gcr.io/pause:3.1 k8s.gcr.io/etcd:3.

    2024年02月12日
    浏览(9)
  • k8s containerd集群配置安装完整踩坑教程

    k8s containerd集群配置安装完整踩坑教程

    完整踩坑和精简内容 containerd安装参考 k8s安装参考 两台机器 系统 CentOS 7.9 1、关闭swap 2、网桥设置 3、ipvs设置 4、关闭防火墙 5、禁用selinux 6、添加源 在所有节点上执行 1、安装最新的kubectl kubelet kubeadm 2、安装containerd 安装 配置 重启 3、安装crictl 编写配置文件 下载镜像 mast

    2024年02月09日
    浏览(13)
  • 使用 zerotier 打通云上与本地网络并搭建 k8s 集群

    使用 zerotier 打通云上与本地网络并搭建 k8s 集群

    最近不少云厂商都推出了云主机包年优惠活动,虽然配置不高但好在有公网 IP,恰好家里有一台 Mac mini 在吃灰,花了三杯咖啡钱买了一年某云的云主机打算将其和家里的 Mac mini 组成 k8s 集群,方便平时学习和测试同时也能通过云主机的公网 IP 访问到 Mac mini 上运行的服务。为

    2024年01月23日
    浏览(23)
  • k8s集群环境搭建以及插件安装

    k8s集群环境搭建以及插件安装

    终端工具MobaXterm很好用。 1、虚拟机三台(ip按自己的网络环境相应配置)(master/node) 节点 ip k8s-master 192.168.200.150 k8s-node1 192.168.200.151 k8s-node2 192.168.200.152 2、关闭防火墙(master/node) 查看防火墙状态: systemctl status firewalld 3、关闭selinux(master/node) 4、关闭swap(master/node) 5、添加主机名

    2024年01月22日
    浏览(9)
  • 【K8S】Rancher的安装&使用Rancher搭建K8S集群&Rancher的使用

    【K8S】Rancher的安装&使用Rancher搭建K8S集群&Rancher的使用

    rancher官方文档 Rancher 是一个 Kubernetes 管理工具,让你能在任何地方和任何提供商上部署和运行集群。 Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。 Rancher 基于 Kubernetes 添加了新的功能,包括统

    2024年02月02日
    浏览(17)
  • 磐基2.0搭建es集群 k8s安装elasticsearch集群

    参考: k8s安装elasticsearch集群_k8s部署elasticsearch集群_MasonYyp的博客-CSDN博客 1 环境简述搭建es集群需要使用的技术如下:k8s集群、StatefulSet控制器、Service(NodePort)服务、PV、PVC、volumeClaimTemplates(存储卷申请模板)。StatefulSet控制器创建的Pod适合用于分布式存储系统,它最大的特

    2024年02月09日
    浏览(6)
  • 云安全攻防(十三)之 使用minikube安装搭建 K8s 集群

    云安全攻防(十三)之 使用minikube安装搭建 K8s 集群

    Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化,一般来说K8s安装有三种方式,分别是Minikube装搭建 K8s 集群,特点是只有一个节点的集群,master和worker都在一起。通过云平台搭建K8s,特点是可视化搭建,几步就可以

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

    K8s(kubernetes)集群搭建及dashboard安装、基础应用部署

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

    2024年02月08日
    浏览(15)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包