容器和云原生(三):kubernetes搭建与使用
目录
单机K8S
docker
containerd
image依赖
kubeadm初始化
验证
crictl工具
K8S核心组件
上文安装单机docker是很简单docker,但是生产环境需要多个主机,主机上启动多个docker容器,相同容器会绑定形成1个服务service,微服务场景中多个service会互相调用,那么就需要保证多个service服务的编排、高可用、负载均衡,docker提供了自己的解决方案:docker-compose + docker-swarm,也可以不用docker提供的解决方案,自己通过Nginx+服务网关+HaProxy实现。
但是基本上所有线上生产环境都是用K8S来服务治理,这也被认为是标准答案,K8S从V1.24版本不支持docker而是contained做为默认容器管理,contained实际上是轻量化的docker,本次搭建k8s+containerd的集群,因此k8s多节点集群相对繁琐且有资源要求,本次单机搭建。
单机K8S
2022年k8s的1.24版本正式剔除dockershim,不再支持让docker去调用containerd,而是直接操作containerd,先安装containerd来替换CRI接口调用,本次使用最新版本v1.28.0;
docker
安装docker用于后续依赖 image拉取;
containerd
# 下载 containerd
wget https://github.com/containerd/containerd/releases/download/v1.6.19/containerd-1.6.19-linux-amd64.tar.gz
# 下载contained服务
wget https://raw.githubusercontent.com/containerd/containerd/main/containerd.service -o /usr/lib/systemd/system/containerd.service
# 启动服务
systemctl daemon-reload && systemctl enable containerd
# 配置文件
mkdir /etc/containerd
containerd config default > /etc/containerd/config.toml
# 需要镜像地址为国内的
vi /etc/containerd/config.toml
将 sandbox_image = "registry.k8s.io/pause:3.6"
修改为 sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6"
# 配置镜像加速器,在 [plugins."io.containerd.grpc.v1.cri".registry.mirrors] 后面增加两行配置,注意缩进
[plugins."io.containerd.grpc.v1.cri".registry.mirrors][plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]endpoint = ["http://mirrors.ustc.edu.cn"][plugins."io.containerd.grpc.v1.cri".registry.mirrors."*"]endpoint = ["http://hub-mirror.c.163.com"]
# 启动服务
systemctl restart containerd
image依赖
kubeadm:用来初始化集群的指令,kubelet在集群中的每个节点上用来启动 Pod 和容器等,kubectl:用来与集群通信的命令行工具,步骤中的docker image安装可以不用;
# 关闭selinux
setenforce 0
# 增加yum源
vi /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpghttp://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
# yum 安装
yum makecache all
yum install -y kubelet kubeadm kubectl
# 启动kubelet
systemctl enable kubelet && systemctl start kubelet
# docker依赖安装(可选)
vi install.sh
#!/bin/bash
images=(kube-apiserver:v1.28.0kube-controller-manager:v1.13.2kube-scheduler:v1.28.0kube-proxy:v1.28.0pause:3.6etcd:3.2.24coredns:1.2.6
)
for imageName in ${images[@]} ; dodocker pull registry.cn-hangzhou.aliyuncs.com/google_containers/${imageName}docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/${imageName} k8s.gcr.io/${imageName}docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/${imageName}
done
# 运行install.sh(可选)
sh -x install.sh
# 查看镜像(可选)
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
k8s.gcr.io/kube-apiserver v1.28.0 bb5e0dde9054 2 days ago 126 MB
k8s.gcr.io/kube-controller-manager v1.28.0 4be79c38a4ba 2 days ago 122 MB
k8s.gcr.io/kube-scheduler v1.28.0 f6f496300a2a 2 days ago 60.1 MB
k8s.gcr.io/kube-proxy v1.28.0 ea1030da44aa 2 days ago 73.1 MB
docker.io/becivells/soar-web latest 93daf9d511a1 11 months ago 134 MB
k8s.gcr.io/coredns 1.2.6 f59dcacceff4 4 years ago 40 MB
k8s.gcr.io/etcd 3.2.24 3cab8e1b9802 4 years ago 220 MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 5 years ago 742 kB# 网络
vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
kubeadm初始化
# 使用root启动设置环境变量
export KUBECONFIG=/etc/kubernetes/admin.conf
# 初始化
kubeadm init --apiserver-advertise-address=10.121.198.235 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=v1.28.0 --service-cidr=172.96.0.0/12 --pod-network-cidr=10.244.0.0/16
验证
# 查看集群信息
kubectl cluster-info
Kubernetes control plane is running at https://10.121.198.235:6443
CoreDNS is running at https://10.121.198.235:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy# 查看pod信息
get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-66f779496c-d4rk9 1/1 Running 0 71m
coredns-66f779496c-fvmzn 1/1 Running 0 71m
etcd-localhost.localdomain 1/1 Running 0 71m
kube-apiserver-localhost.localdomain 1/1 Running 0 71m
kube-controller-manager-localhost.localdomain 1/1 Running 0 71m
kube-proxy-tr75q 1/1 Running 0 71m
kube-scheduler-localhost.localdomain 1/1 Running 0 71m
crictl工具
# 安装 containerd 的 cli 管理工具(此步骤是非必选项)
# 官方文档https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md
# 下载解压
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.26.0/crictl-v1.26.0-linux-amd64.tar.gz
tar zxvf crictl-v1.26.0-linux-amd64.tar.gz -C /usr/local/bin
# 创建配置文件,运行 crictl config 命令可获取参数说明
cat <<EOF | sudo tee /etc/crictl.yaml
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 2
debug: false
pull-image-on-create: false
disable-pull-on-run: false
EOF
# 测试
crictl pods
POD ID CREATED STATE NAME NAMESPACE ATTEMPT RUNTIME
c9f1f5a8e5f3b About an hour ago Ready coredns-66f779496c-fvmzn kube-system 0 (default)
92acc7d225059 About an hour ago Ready coredns-66f779496c-d4rk9 kube-system 0 (default)
2fdff0229921a About an hour ago Ready kube-proxy-tr75q kube-system 0 (default)
8cad99418e8dd About an hour ago Ready kube-apiserver-localhost.localdomain kube-system 0 (default)
2f366285dbe4e About an hour ago Ready kube-controller-manager-localhost.localdomain kube-system 0 (default)
ab2fb7aa95e40 About an hour ago Ready kube-scheduler-localhost.localdomain kube-system 0 (default)
c25f77697cc84 About an hour ago Ready etcd-localhost.localdomain kube-system 0 (default)
K8S核心组件
待续
参考:搭建containerd+k8s集群-v1.26
参考:安装docker依赖
相关文章:
容器和云原生(三):kubernetes搭建与使用
目录 单机K8S docker containerd image依赖 kubeadm初始化 验证 crictl工具 K8S核心组件 上文安装单机docker是很简单docker,但是生产环境需要多个主机,主机上启动多个docker容器,相同容器会绑定形成1个服务service,微服务…...
spring boot集成jasypt 并 实现自定义加解密
一. 技术需求 由于项目中的配置文件 配置的地方过多,现将配置文件统一放到nacos上集中管理 且密码使用加密的方式放在配置文件中 项目中组件使用的版本环境如下 spring cloud 2021.0.5 spring cloud alibaba 2021.0.5.0 spring boot 2.6.13 二. 技术实现 配置文…...
Qt文件系统操作和文件的读写
一、文件操作类概述 QIODevice:所有输入输出设备的基础类 QFile:用于文件操作和文件数据读写的类QSaveFile:用于安全保存文件的类QTemporaryFile:用于创建临时文件的类QTcpSocket和QUdpSocket:分别实现了TCP和UDP的类…...
MME: A Comprehensive Evaluation Benchmark for Multimodal Large Language Models
本文也是LLM系列相关文章,针对《MME: A Comprehensive Evaluation Benchmark for Multimodal Large Language Models》的翻译。 MME:一个多模态大型语言模型的综合评估基准 摘要1 引言2 MME评估套件3 实验4 分析5 结论 摘要 多模态大语言模型(MLLM&…...
学习开发振弦采集模块的注意事项
学习开发振弦采集模块的注意事项 (三河凡科科技/飞讯教学)振弦采集模块是一种用来实时采集和处理振弦信号的电子设备,在工业、航空、医疗等领域都有广泛应用。学习开发振弦采集模块需要注意以下几点: 一、硬件选择 首先需要选择…...
抵御时代风险:高级安全策略与实践
目录 网页篡改攻击 流量攻击 数据库攻击 恶意扫描攻击 域名攻击 在今天的数字时代,网站已经成为企业、机构和个人展示信息、交流互动的重要平台。然而,随着网络攻击技术的不断进步,网站也面临着各种安全威胁。本文将探讨五种常见的网络攻…...
(3)、SpringCache源码分析
1、入口说明 @EnableCaching是开启SpringCache的一个总开关,开启时候我们的缓存相关注解才会生效,所以我们@EnableCaching开始作为入口进行分析, 2、分析@EnableCaching注解 @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Import(...
如何在 Ubuntu 中安装最新的 Python 版本
动动发财的小手,点个赞吧! Python 是增长最快的主要通用编程语言。其原因有很多,例如其可读性和灵活性、易于学习和使用、可靠性和效率。 目前使用的 Python 有两个主要版本 – 2 和 3(Python 的现在和未来)࿱…...
等保测评--安全物理环境--测评方法
安全子类--物理位置选择 a)机房场地应选择在具有防震、防风和防雨等能力的建筑内; 一、测评对象 记录类文档和机房 二、测评实施 1)检查机房所在建筑物是否具有建筑物抗震设防审批文档; 2)检查机房门窗是否不存在因风导致的尘土严重; 3)检查机房是否不存在雨水渗漏…...
解决jmeter导入jmx文件报错方法
有的时候我们导入别人的jmx文件,但是在导入的时候会报错,如下图: 这是缺少jmeter插件jar包所引起的,下载对应jar包放到jmeter安装目录对应的lib/ext下就可以了。可以通过插件管理工具包下载安装,也可以直接下载对应的…...
CH32V307 开启浮点后rtthread的修改
官方版本是3.1.3,而且只有整数的,开启浮点后要做一些修改,这里问了官方并贴出来方便大家使用: 首先在mounriver开启浮点,步骤: 开启浮点:ide 开启float point->rvf, floating point abi->…...
网络面试题(172.22.141.231/26,该IP位于哪个网段? 该网段拥有多少可用IP地址?广播地址是多少?)
此题面试中常被问到,一定要会172.22.141.231/26,该IP位于哪个网段? 该网段拥有多少可用IP地址?广播地址是多少? 解题思路: 网络地址:172.22.141.192 10101100.00010110.10001101.11000000 广播…...
macOS nginx部署前端项目
1、安装nginx; brew install nginx2、配置nginx,主要配置代码,服务器代理 1、配置文件地址 根目录是 macOS 文件系统的最顶层目录。您可以在 Finder 中使用快捷键 Shift Command G,然后输入 /usr,即可直接打开 /u…...
管理类联考——逻辑——真题篇——按知识分类——汇总篇——二、论证逻辑——削弱——第一节 推理论证
文章目录 第七章 削弱质疑第一节 削弱-题型1-推理论证-论证为预测结果题-削弱质疑-预测-推理论证-分类1-削弱论点真题(2019-24)-削弱质疑-预测-推理论证-分类1-削弱论点真题(2019-42)-削弱质疑-预测-推理论证-分类1-削弱论点真题(2011-32)-削弱质疑-预测-推理论证-分类…...
LoRa 网络的高效自适应数据链路层架构
介绍 LoRa 是用于实现物联网的最流行的低功耗无线网络技术之一,与 Zigbee 或蓝牙等技术相比,其优点是提供远距离通信,但数据速率较低。LoRa 是一种单通道物理层技术,LoRaWAN 在此基础上实现了更复杂的多通道网络,并具有增强的功能,例如自适应数据速率。然而,LoRaWAN 依赖…...
Ubuntu软件源、pip源大全,国内网站网址,阿里云、网易163、搜狐、华为、清华、北大、中科大、上交、山大、吉大、哈工大、兰大、北理、浙大
文章目录 一、企业镜像源1、阿里云2、网易1633、搜狐镜像4、华为 二:高校镜像源1、清华源2、北京大学3、中国科学技术大学源 (USTC)4、 上海交通大学5、山东大学6、 吉林大学开源镜像站7、 哈尔滨工业大学开源镜像站8、 西安交通大学软件镜像…...
4 Python的函数
概述 在上一节,我们介绍了Python的数据类型,包括:数字、字符串、列表、元组、集合、字典等内容。在本节中,我们将介绍Python的函数。在Python中,函数是一段可以重复使用的代码块,它可以提高代码的可重用性和…...
Claude 2 国内镜像站
Claudeai是什么? Claude 2被称为ChatGPT最强劲的竞争对手,支持100K上下文对话,并且可以同时和5个文档进行对话,不过国内目前无法正常实用的,而claudeai是一个Claude 2 国内镜像站,并且免翻可用࿰…...
MySQL的基础操作
前言 对MySQL的一些基础操作做一下学习性的总结,基本上是照着视频写的。 MySQL的安装 MySQL的下载 MySQL :: Download MySQL Community Server (Archived Versions)https://downloads.mysql.com/archives/community/ 配置环境变量 下载之后直接解压,…...
Dockerfile快速搭建自己专属的LAMP环境
目录 编写Dockerfile 1.文件内容需求: 2.值得注意的是centos6官方源已下线,所以需要切换centos-vault源! 3.Dockerfile内容 4.进入到 lamp 开始构建镜像 推送镜像到私有仓库 1.创建用户并添加到私有仓库:编辑编辑 2.推…...
秒懂算法│博弈论
博弈论是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策略,达到取胜目标的理论。博弈论是研究互动决策的理论。博弈可以分析自己与对手的利弊关系,从而确立自己在博弈中的优势,因此有不少博弈理论,可以帮助对弈者分析局势,从而采取相应策略,最终达到取胜的目的。…...
Springboot整合RabbitMQ消息中间件
spring-boot-rabbitmq–消息中间件整合 前言:RabbitMQ的各种交换机说明 1、直连交换机 生产者发布消息时必须带着routing-key,队列绑定到交换机时必须指定binding-key ,且routing-key和binding-key必须完全相同,如此才能将消息路由到队列中…...
基于springboot+vue的食材商城(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...
Maven解析
目录 Maven的概念 Pom 项目坐标 仓库 Maven环境搭建 安装jdk 配置maven 配置本地仓库地址 配置阿里云 maven 镜像仓库,下载速度更快 在idea中配置maven 编辑 pom中名词解释 Maven命令 Maven的概念 Maven 是 Apache 软件基金会的一个开源项目,是一个…...
如何使用数学将 NumPy 函数的性能提高 50%
一、说明 2D 傅里叶变换是本世纪最重要的计算机科学算法之一。它已在我们的日常生活中得到应用,从Instagram过滤器到MP3文件的处理。 普通用户最常用的实现,有时甚至是在不知不觉中,是 NumPy 的改编。然而,尽管它很受欢迎…...
群狼调研(长沙政策第三方评估)| 社情民意调查的内容
本文由群狼调研(长沙社会舆情调查)出品,欢迎转载,请注明出处。社情民意调查旨在捕捉公众对各种社会问题的态度、意见和看法,社情民意调查的内容通常包括以下几个方面: 1. 社会热点问题:针对当前社会热点问题进行调查&…...
【三维重建】【深度学习】NeuS代码Pytorch实现--测试阶段代码解析(上)
【三维重建】【深度学习】NeuS代码Pytorch实现–测试阶段代码解析(上) 论文提出了一种新颖的神经表面重建方法,称为NeuS,用于从2D图像输入以高保真度重建对象和场景。在NeuS中建议将曲面表示为有符号距离函数(SDF)的零级集,并开发一种新的体绘…...
day-24 代码随想录算法训练营(19)回溯part01
77.组合 思路一:回溯相当于枚举,所以我们遍历1-n的每一个数字,然后在遍历第i位的同时递归出第i1~n位的组合结果,跟树的形式相似。 如上图所示,当长度为k时,即退出递归可对遍历到第i位以及剩下位数与k进行比…...
Redis之SYNC与PSYNC命令
一、复制SYNC与PSYNC 在Redis主从架构中,主要有以下两种情形需要进行数据同步 (1)当新的服务器执行slave of 命令,成为主服务器的从服务器。这时候从服务器会向主服务器发送SYNC命令,请求全量同步数据,主服…...
共创无线物联网数字化新模式|协创数据×企企通采购与供应链管理平台项目成功上线
近日,全球无线物联网领先者『协创数据技术股份有限公司』(以下简称“协创数据”)SRM采购与供应链项目全面上线,并于近日与企企通召开成功召开项目上线总结会。 基于双方资源和优势,共同打造了物联网特色的数字化采购供…...
西安工程网站建设/西安百度竞价推广
Linux 6.0下DNS服务器搭建详细步骤,根据实验一步一步写的,绝对有用!下载地址转载于:https://blog.51cto.com/lihushan/895421...
运用vs2010c 做网站/百度收录提交申请网站
目录 经典RDA 距离向压缩 方位向傅里叶变换 距离徙动校正 相位补偿 插值 方位压缩和方位向逆傅里叶变换 考虑SRC的RDA 距离向频域匹配滤波 方位向傅里叶变换 SRC 距离向IFFT RCMC 方位向压缩与IFFT 由于原文公式较多,所以本文部分内容以截图的形式分享给…...
成都房产网站建设/培训班
又有一段时间没有接触设计模式了,都快忘记了,现在回忆回忆,看看还是否记得。看了设计模式感觉设计模式主要有作用是:1、提高复用 看看GOF的《设计模式可复用面向对象软件的基础》书名就知道2、封装变化 提取潜在的变化,…...
县城服务网站如何做/seo网站设计工具
以前,我们在用Nagios监控时,结合飞信、E-mail、短信等方式来报警。如今在使用Zabbix监控时,依然有很多种报警方式,今天我们就来讲一下微信和E-mail这两种报警方式!Zabbix结合微信报警:Zabbix_server&#x…...
北京建委官网站/深圳网络公司推广平台
Layer.Color 属性用来获取或指定图层的覆盖颜色。 VBA参考代码 下面的VBA代码例子将活动层中的颜色覆盖设置为True,将覆盖颜色设置为RGB红色。OverrideColor 表示是否覆盖颜色,RGBAssign 用来分配一个RGB颜色给指定的图层。 ActiveLayer.OverrideColo…...
做网站的动态图片/百度快照怎么弄
此问题已解决。请看: IOS APP 国际化 程序内切换语言实现 不重新启动系统(完美解决方案) 接了个变态的需求,要在程序内切换程序语言实现国际化。 可以先看看这个,比较详细。 http://blog.csdn.net/xwren362922604/article/detail…...