本地虚拟机搭建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简介

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

    2024年02月07日
    浏览(45)
  • 使用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)
  • 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日
    浏览(27)
  • 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日
    浏览(58)
  • 使用 zerotier 打通云上与本地网络并搭建 k8s 集群

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

    2024年01月23日
    浏览(33)
  • 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日
    浏览(32)
  • 【K8S】Rancher的安装&使用Rancher搭建K8S集群&Rancher的使用

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

    2024年02月02日
    浏览(37)
  • 磐基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日
    浏览(32)
  • kubernetes(k8s)安装、集群搭建、可视化界面、完全卸载

    官网:https://kubernetes.io/zh-cn/docs/concepts/overview/ Kubernetes 是一个可移植、可扩展的开源平台, 用于管理容器化的工作负载和服务 ,可促进声明式配置和自动化。 Kubernetes 作用: 服务发现和负载均衡 Kubernetes 可以使用 DNS 名称或自己的 IP 地址来暴露容器。 如果进入容器的流量很

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

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

    2024年02月11日
    浏览(30)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包