单机版k8s搭建

 环境配置:

关闭防火墙和交换内存

systemctl stop ufw
sudo swapoff -a

安装Docker 

更新安装包

sudo apt-get update

安装依赖

sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates

获取证书

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

添加仓库

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

再次更新安装包

sudo apt update

安装docker

sudo apt-get -y install docker-ce

启动docker

sudo systemctl start docker

重启docker

sudo systemctl restart docker

开机自启docker

sudo systemctl enable docker

kubelet、kubectl、kubeadm组件安装

更新安装包

sudo apt-get update

签名秘钥

curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

添加k8s的apt仓库

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"

再次更新apt包

sudo apt-get update

查看版本是否存在

sudo apt-cache madison kubelet kubectl kubeadm | grep '1.22.9-00' 

指定版本安装

sudo apt install -y kubelet=1.22.9-00 kubectl=1.22.9-00 kubeadm=1.22.9-00

标记指定软件包为保留,阻止更新

sudo apt-mark hold kubelet kubeadm kubectl

修改cgroups 

在/etc/docker/daemon.json文件中添加exec-opts参数

{"exec-opts":["native.cgroupdriver=systemd"]
}

重启docker

systemctl restart docker

重启kubelet

systemctl restart kubelet

初始化 

初始化命令

sudo kubeadm init \--kubernetes-version=v1.22.9 \--image-repository registry.aliyuncs.com/google_containers \--pod-network-cidr=10.24.0.0/16 \--ignore-preflight-errors=Swap

--image-repository string 指定从什么位置来拉取镜像(1.13版本才有的)
默认值是k8s.gcr.io,改为国内镜像地址:registry.aliyuncs.com/google_containers
–kubernetes-version string: 指定kubenets版本号
–pod-network-cidr 指定 Pod 网络的范围。
Kubernetes 支持多种网络方案,而且不同网络方案对 –pod-network-cidr有自己的要求,这里设置为10.244.0.0/16 是因为我们将使用 flannel 网络方案,必须设置成这个 CIDR。(说明在集群中将会使用10.244.0.0这个网段下面的所有ip地址,比如将tomcat部署在10.244.144.198这个地址,然后再master节点使用curl 10.244.144.198就可以返回tomcat的界面)
--ignore-preflight-errors=all 忽略预检报错内容,指定所有(自己猜的)
注:kubeadm 不支持将没有 --control-plane-endpoint 参数的单个控制平面集群转换为高可用性集群。

创建.kube文件夹

sudo mkdir -p $HOME/.kube

将admin.conf文件内容复制到.kube的config文件中

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

将文件的所有权限从文件所有者修改到到所有者所在的组的其他用户(user->group)

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

如果使用kubectl报错,/etc/kubernetes/admin.conf访问拒绝,使用sudo chown $(id -u):$(id -g) /etc/kubernetes/admin.conf

calico网络配置 

获取calico.yaml文件资源

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

应用到kubectl中

sudo kubectl apply -f calico.yaml

如果出现localhost:8080访问出错,把sudo去掉

查看节点和组件 

查看集群中节点信息

kubectl get nodes

查看组件状态

kubectl get cs

如果组件为unhealthy,原因是默认端口是0了,需要注释掉/etc/kubernetes/manifests下的kube-controller-manager.yamlkube-scheduler.yaml的--port=0或直接删除--port=0

注释完重启sudo systemctl restart kubelet.service

创建pod 

将主节点设为可调度

kubectl taint nodes --all node-role.kubernetes.io/master-

当创建单机版的 k8s 时,master 节点默认不允许调度 pod 。

拉取镜像

kubectl run nginx --image=nginx --port=80

查看pod状态

kubectl get pod

删除pod 

kubectl delete pods nginx --grace-period=0 --force

强制删除

kubectl delete pods nginx

普通删除

woker节点加入master节点的命令 

kubeadm token create --print-join-command

在master节点上运行,得到相应命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/43409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过Vxlan实现数据中心互联有感

随着企业的发展,为满足跨地域运营、用户接入、异地灾备等场景,越来越多的企业通常在多地域部署多个数据中心。 数据中心互联DCl(Data Center Interconnection)是不同数据中心VM之间互相通信的一种解决方案使用VXLAN、BGP EVPN等技术,使数据中…

uniapp+uview实现手机端上传照片带水印(保姆级全过程)

目录 前言:实现思路 步骤一、在界面使用uview的u-upload组件、放置canvas标签 步骤二、在afterRead方法中获取照片url,并创建画布生成水印,再将生成水印的照片上传到服务器 1、afterRead方法 2、照片加水印的方法 3、上传照片至服务器 …

zookeeper加入开机启动项

Windows的任务计划程序(Task Scheduler)是一个强大的工具,允许你安排程序在特定时间自动运行,包括开机时。 打开任务计划程序: 按下Win R键,打开“运行”对话框。输入taskschd.msc并回车,打开…

Python编写网络嗅探器程序捕获和显示IP数据包的头部信息

Python编写网络嗅探器程序捕获和显示IP数据包的头部信息 抓取网络数据包并解析其中的IP首部信息,并通过GUI界面显示解析结果。程序展示了如何使用Python的socket和ctypes库来捕获和解析网络数据包,并使用Tkinter创建一个简单的GUI界面来显示捕获到的IP头部信息。这…

日志服务SLS入门指南

日志服务SLS入门指南 什么是日志服务SLSNginx日志采集部署Nginx创建Logstore接入数据 数据脱敏创建脱敏Logstore数据加工 告警设置添加告警规则查看告警 写在最后 什么是日志服务SLS 在说到日志服务SLS之前,首先了解一下什么是日志服务SLS?日志服务SLS是…

PHP项目中的前端页面随意点击卡片后会重定向到首页或登录页

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

pycharm使用micropython

一、打开设置 2、搜索micropython、安装、重启 3、第5步需要设置成你插的电脑USB口,一个一个试 4、 5、 6、OK

jEasyUI 合并单元格

jEasyUI 合并单元格 jEasyUI 是一个基于 jQuery 的框架,用于创建交互式的 Web 应用程序。它提供了一系列的 UI 组件,如表格(datagrid)、树(tree)、下拉列表(combobox)等,使得用户能够轻松地构建具有丰富用户界面的应用程序。在本文中,我们将重点讨论如何在 jEasyUI …

ES6 Reflect 详解(三)

Reflect 对象与Proxy 对象一样,也是 ES6 为了操作对象而提供的新 API。 Reflect 对象的设计目的有 4 个。 将 Object 对象的一些明显属于语言内部的方法(比如 Object.defineProperty ),放到 Reflect 对象上。现阶段,某…

手机数据恢复篇:优秀的 iPhone 数据恢复汇总

如果您不幸遭遇 iPhone 死机、进水或死机,一切还不算晚。您可以使用 iPhone 数据恢复应用恢复文件、照片、应用数据、消息等。 使用以下选项,您可以恢复 iPhone 上的少量内容、特定项目或所有内容。有些应用程序甚至提供修复工具来修复最初导致数据丢失…

这组杭州亚运会可视化大屏,绝对引领了时代。

本期分享杭州亚运会的可视化大屏,非常的震撼,杭州不愧为我国互联网最发达的的城市之一。 怒赞!!!

暑期旅游怎么玩?开发旅游小程序让出行变简单

暑假正值旅游旺季,旅游小程序的出现为旅行带来了许多便利。随着移动互联网的发展,旅游行业也在不断寻求创新与变革。旅游小程序为游客提供了更加便捷的旅行体验,通过旅游小程序,用户可以了解旅游信息、旅游服务、在线咨询等&#…

从 Github 安装 R packages 不完全指南

前言 R语言,一个被广泛使用的统计计算和数据分析工具。在日常使用过程中,需要安装实现各种功能、来自各种渠道的工具包(packages)比如:CRNA或者Github。很多包已经发布在 CRAN 上,使用 install.packages(&q…

【Dison夏令营 Day 13】使用 Python 创建扫雷游戏

在本文中,我们将介绍如何使用 Python 语言创建自己的基于终端的扫雷程序。 关于游戏 1992年4月6日,扫雷和纸牌、空当接龙等小游戏搭载在Windows 3.1系统中与用户见面,主要目的是让用户训练使用鼠标。扫雷是一款单人游戏,这个游戏…

Linux系统下anaconda的安装与Pytorch环境的下载

首先,在命令行通过cd命令,进入用户文件夹 cd xxx/xxx/username进入anaconda官网https://repo.anaconda.com/archive/,寻找anaconda下载包资源,这里选择最新的anaconda下载包 Anaconda3-2024.06-1-Linux-x86_64.sh 在命令行执行安…

Python爬虫-获取懂车帝“指定车型”的销量数据

前言 本文是该专栏的第33篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏之前,笔者有详细介绍关于懂车平台的相关爬虫,如下所示: 1. Python爬虫-新能源汽车对应的“年份月份”销量榜 2. Python爬虫-懂车帝城市销量榜单 3. Python爬虫-新能源汽车销量榜 4. Pyth…

:-1: error: ninja: build stopped: subcommand failed.

错误解释: 这个错误通常出现在使用Ninja构建系统进行软件编译时。Ninja是一个小型的构建系统,它比make更快,因为它直接调用指定的命令来执行构建,而不是像make那样通过一套复杂的规则和依赖关系来进行。如果在Ninja构建过程中遇到…

气膜建筑如何在文化旅游行业中应用—轻空间

一、气膜建筑简介 气膜建筑是一种新型建筑形式,其主要结构由高强度膜材、空气支撑系统和固定系统组成。通过不断向膜体内部充气,使其形成稳定的内部压力来支撑整个建筑结构。气膜建筑因其建设速度快、成本相对较低、环保节能等优点,近年来在各…

阶段三:项目开发---大数据开发运行环境搭建:任务3:安装配置Hadoop集群

任务描述 知识点:安装配置Hadoop 重 点: 安装配置Hadoop 难 点:无 内 容: Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威…

Linux系统编程——线程控制

目录 一,关于线程控制 二,线程创建 2.1 pthread_create函数 2.2 ps命令查看线程信息 三,线程等待 3.1 pthread_join函数 3.2 创建多个线程 3.3 pthread_join第二个参数 四,线程终止 4.1 关于线程终止 4.2 pthread_exit…