【云原生Kubernetes】
文章平均质量分 64
Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,目标是让部署容器化的应用简单高效,提供了应用部署、规划、更新、维护的一种机制(云原生必备技术)。欢迎您前来订阅学习!
嵌入式职场
在Matlab、Python、C/C++和Go等多种编程语言方面都有丰富的经验,专注于智能优化算法、工业人机交互界面设计、物联网、服务端开发等众多领域。
展开
-
【K8s】第3篇 一篇文章带你部署安装k8s集群(linux-amd64)(ubuntu)
-image-repository 拉取的 docker 镜像源,因为初始化的时候kubeadm会去拉 k8s 的很多组件来进行部署,所以需要指定国内镜像源,下不然会拉取不到镜像。--kubernetes-version: 这个是用来指定你要部署的 k8s 版本的,一般不用填,不过如果初始化过程中出现了因为版本不对导致的安装错误的话,可以用这个参数手动指定。是不行的,因为这个阿里镜像站使用的ssl进行传输的,所以要先安装apt-transport-https并下载镜像站的密钥才可以进行下载。原创 2023-03-13 15:28:48 · 237 阅读 · 0 评论 -
【K8s】第2篇 解决 applying cgroup configuration for process caused \“No such device or address\““: unknown
若要对接控制组,kubelet 和容器运行时需要使用一个 cgroup 驱动。关键的一点是 kubelet 和容器运行时需使用相同的 cgroup 驱动并且采用相同的配置。你必须部署一个基于 Pod 网络插件的容器网络接口(CNI),以便你的 Pod 可以相互通信。kubelet 和底层容器运行时都需要对接控制组来强制执行 为 Pod 和容器管理资源 并为诸如 CPU、内存这类资源设置请求和限制。在 Linux 上,控制组(CGroup)用于限制分配给进程的资源。成功部署coredns。原创 2023-03-01 14:04:09 · 1000 阅读 · 0 评论 -
【K8s】第1篇 一篇文章带你部署安装k8s集群(linux-arm64)
可以按照需求自行修改。查看系统是否已安装chrony,或者直接安装。3、关闭firewalld服务4、添加网桥过滤和地址转发功能然后执行命令: 5、docker 安装 设置docker开机启动:配置docker镜像加速器:重启docker:阿里开源镜像站:kubernetes-yum-repos安装包下载_开源镜像站-阿里云kubernetes-yum-repos安装包是阿里云官方提供的开源镜像免费下载服务,每天下载量过亿,阿里巴巴开源镜像站原创 2023-03-01 08:50:10 · 318 阅读 · 0 评论 -
【K3s】第41篇 详解对比分析k3s与k8s架构
它通过在集群节点之间建立安全的隧道连接来实现。调度程序会监视来自API Server的新请求,并将其分配给运行状况良好的节点。它对节点的质量进行排名,并将。容器运行时从容器镜像库中拉取镜像,然后启动和停止容器。它监视从API Server发送来的任务,执行任务,并报告给主节点。他们会执行分配给他们的工作,然后将结果报告给。没有它,容器就不能成为集群的一部分。根据资源的可用性,主节点会把。调度到特定工作节点上,并与容器运行时协调以启动容器。如果没有合适的节点,则将。置于挂起状态,直到出现合适的节点。原创 2023-08-24 10:27:00 · 342 阅读 · 0 评论 -
【K3s】第40篇 通过docker部署k3s server节点
通过docker部署k3s server节点原创 2023-08-23 18:27:14 · 337 阅读 · 0 评论 -
【K3s】第39篇 解决couldn‘t get resource list for metrics.k8s.io/v1beta1: the server is currently unable ..
【K3s】第39篇 解决couldn't get resource list for metrics.k8s.io/v1beta1: the server is currently unable ..原创 2023-06-19 14:14:43 · 1627 阅读 · 1 评论 -
【K3s】第38篇 详解 kubectl port-forward 踩坑记录
按照需要配置deployment,并使用kubectl apply创建deployment。deployment成功创建后,查看pods状态为running。原创 2023-06-16 14:04:45 · 211 阅读 · 0 评论 -
【K3s】第37篇 详解 containerd 容器命令
4. `ctr image export `:将指定镜像导出为tarball文件。16. `ctr container rm `:删除指定的容器。5. `ctr image pull `:从容器镜像仓库中拉取指定的镜像,并将其保存到本地镜像存储中。13. `ctr container create `:创建一个新的容器,指定容器名称。原创 2023-06-15 16:38:53 · 944 阅读 · 0 评论 -
【K3s】第36篇 创建一个不需要持久化存储的 TDengine 服务并部署到名为 algorithm 的命名空间
【K3s】第36篇 创建一个不需要持久化存储的 TDengine 服务并部署到名为 algorithm 的命名空间。原创 2023-06-14 19:54:25 · 110 阅读 · 0 评论 -
【K3s】第35篇 解决 the default settings are now deprecated, you should set the endpoint instead.
【K3s】第35篇 解决 the default settings are now deprecated, you should set the endpoint instead.原创 2023-06-07 14:56:08 · 359 阅读 · 0 评论 -
【K3s】第34篇 怎么进入 k3s 的pods?
注意:在执行上述命令时,请确保已经在系统中安装了 PostgreSQL 客户端工具。如果您没有安装它,请参考 PostgreSQL 的官方文档进行安装。接下来,可以在打开的 shell 会话中使用 PostgreSQL 客户端工具进行连接。身份连接到正在运行的 PostgreSQL 服务。指定打开的 Shell 类型。参数来将命令行参数传递给容器中的Shell。要进入 k3s 的 Pods 中,可以使用。参数来启用交互式终端会话,并使用。在这个命令中,我们使用。原创 2023-06-07 14:45:45 · 369 阅读 · 0 评论 -
【K3s】第33篇 创建一个不需要持久化存储的 PostgreSQL 服务并部署到名为 algorithm 的命名空间
的 Deployment。一旦服务和 Deployment 创建成功,您可以使用以下命令查看服务的节点端口。在 k3s 中创建一个不需要持久化存储的 PostgreSQL 服务并部署到名为。选项指定了命名空间。因此,需要在使用 kubectl 命令时始终添加。选项,以便在正确的命名空间中执行操作。请注意,我在上述 YAML 文件中添加了一个名为。请注意,在上面的示例中,我使用了。的服务,并在其中部署一个名为。的命名空间,并在所有资源的。将上述 YAML 文件保存为。字段中指定了该命名空间。原创 2023-06-07 14:35:51 · 219 阅读 · 0 评论 -
【K3s】第32篇 部署卷和存储 Local Storage Provider
K3s 自带 Rancher 的 Local Path Provisioner,这使得能够使用各自节点上的本地存储来开箱即用地创建持久卷声明。原创 2023-04-04 09:44:49 · 218 阅读 · 0 评论 -
【K3s】第31篇 详解 TDengine 集群扩容、缩容、清理
TDengine 集群支持自动扩容:(目前两个)查看效果:此时 POD 的状态仍然是 Running,TDengine 集群中的 dnode 状态要等 POD 状态为ready。原创 2023-04-03 10:11:33 · 1014 阅读 · 0 评论 -
【K3s】第30篇 使用 port-forward 端口转发功能访问 TDengine
这个参数用于设置监听地址,默认值是localhost。如果设置为localhost,那么k3s会监听127.0.0.1和::1这两个地址。利用 kubectl 端口转发功能可以使应用可以访问 k3s 环境运行的 TDengine 集群。使用 curl 命令验证 TDengine REST API 使用的 6041 接口。原创 2023-04-03 09:48:53 · 275 阅读 · 0 评论 -
【K3s】第29篇 在 k3s 上部署 TDengine 集群
在 k3s 上部署 TDengine 集群。原创 2023-04-03 09:34:45 · 839 阅读 · 0 评论 -
【K3s】第28篇 详解 k3s-killall.sh 脚本
killall 脚本清理容器、K3s 目录和网络组件,同时也删除了 iptables 链和所有相关规则。要停止所有的 K3s 容器并重置容器的状态,可以使用。为了在升级期间实现高可用性,集群数据不会被删除。原创 2023-03-22 22:51:23 · 447 阅读 · 0 评论 -
【K3s】第27篇 部署dashboard时不同k3s版本获取token的方式
v1.23 及之前的版本。原创 2023-03-22 22:11:31 · 830 阅读 · 0 评论 -
【K3s】第26篇 自动部署清单manifests与使用 Docker 作为容器运行时
这种方式部署的 manifests 是作为 AddOn 自定义资源来管理的,可以通过运行来查看。你会发现打包组件的 AddOns,如 CoreDNS、Local-Storage、Traefik 等。AddOns 是由部署控制器自动创建的,并根据它们在 manifests 目录下的文件名命名。原创 2023-03-13 10:09:27 · 232 阅读 · 0 评论 -
【K3s】第25篇 解决The connection to the server localhost:8080 was refused
默认 agent 节点安装完毕后,是不能使用kubectl命令的。原创 2023-03-10 16:52:02 · 532 阅读 · 0 评论 -
【K3s】第24篇 K3s上部署和配置Kubernetes 仪表盘(亲测实践)
已经部署k3s集群。原创 2023-03-10 15:53:38 · 313 阅读 · 0 评论 -
【K3s】第23篇 一篇文章带你学习k3s私有镜像仓库配置
当从镜像仓库中拉取镜像时,containerd 会逐一尝试这些 endpoint URL,并使用第一个可用的 endpoint。如果你想使用一个私有的镜像仓库,那么你需要在每个使用镜像仓库的节点上以 root 身份创建这个文件。Containerd 中的配置可以用于通过 TLS 连接到私有镜像仓库,也可以与启用验证的镜像仓库连接。您可以配置 Containerd 连接到私有镜像仓库,并使用它们在节点上拉取私有镜像。可以配置 Containerd 连接到私有镜像仓库,并使用它们在节点上拉取私有镜像。原创 2023-03-10 14:32:17 · 646 阅读 · 0 评论 -
【K3s】第22篇 k3s节点卸载命令
脚本安装了 K3s,那么在安装过程中会生成一个卸载脚本。该脚本在您的节点上的。原创 2023-03-10 14:16:35 · 1018 阅读 · 0 评论 -
【K3s】第21篇 一篇文章带你在线安装部署k3s(在线安装)
每台计算机必须具有唯一的主机名。如果您的计算机没有唯一的主机名,请传递。环境变量,并为每个节点提供一个有效且唯一的主机名。要在工作节点上安装并将它们添加到集群,请使用。环境变量运行安装脚本。原创 2023-03-10 13:54:22 · 550 阅读 · 0 评论 -
【K3s】第20篇 通过 nodeSelector 标签将 Pod 指派给特定节点
与很多其他 Kubernetes 对象类似,节点也有标签。可以手动添加标签。Kubernetes 也会为集群中所有节点添加一些标准的标签。原创 2023-02-28 09:32:29 · 390 阅读 · 0 评论 -
【K3s】第19篇 通过 nodeName 字段将 Pod 指派给特定节点
1、将 Pod 指派给特定节点的概念可以约束一个 Pod 以便其只能在特定的节点上运行, 或优先在特定的节点上运行。有几种方法可以实现这点,推荐的方法都是用来进行选择。通常这样的约束不是必须的,因为调度器将自动进行合理的放置。在某些情况下,你可能需要进一步控制 Pod 被部署到哪个节点。例如,确保 Pod 最终落在连接了 SSD 的机器上, 或者将来自两个不同的服务且有大量通信的 Pods 被放置在同一个可用区。原创 2023-02-28 09:11:11 · 178 阅读 · 0 评论 -
【K3s】第18篇 详解 Kubernetes 调度器工作原理
目录1、概述2、kube-scheduler3、kube-scheduler 调度流程4、支持两种方式配置调度器的过滤和打分行为4.1 调度策略4.2 调度策略5、总结在 Kubernetes 中,调度 是指将Pod放置到合适的节点上,以便对应节点上kubelet能够运行这些 Pod。调度流程:(1)调度器通过 Kubernetes 的监测(Watch)机制来发现集群中新创建且尚未被调度到节点上的 Pod。 (2)调度器会将所发现的每一个未调度的 Pod 调度到一个合适的节点上来运行。(3)调度器会依据下文原创 2023-02-27 22:22:35 · 406 阅读 · 0 评论 -
【K3s】第17篇 Helm版本和支持的Kubernetes版本对照表
例如,如果您在使用一个针对Kubernetes 1.17客户端API版本编译的Helm 3版本,那么它应该可以安全地使用Kubernetes 1.17, 1.16,1.15,以及1.14。当一个Helm的新版本发布时,它是针对Kubernetes的一个特定的次版本编译的。由于Helm 2对Kubernetes次版本变更的支持稍微严格一点, 则假定与Kubernetes的。不推荐将Helm用于比编译它所依赖的版本更高的Kubernetes版本,因为Helm并没有做出任何向前兼容的保证。原创 2023-02-24 14:59:15 · 567 阅读 · 0 评论 -
【K3s】第16篇 详解Helm安装与基础入门(必看)
Helm 是 Kubernetes 的包管理器。原创 2023-02-24 15:35:25 · 341 阅读 · 0 评论 -
【K3s】第15篇 使用containerd容器部署k3s集群
配置INSTALL_K3S_EXEC="--docker"不在支持。原创 2023-02-13 09:58:37 · 430 阅读 · 0 评论 -
【K3s】第14篇 使用外部数据库PostgreSQL实现高可用安装部署k3s(详细步骤)
Agent 通过固定的注册地址进行注册,但注册后直接与其中一个 server 节点建立连接。进程发起的 websocket 连接,并由作为 agent 进程一部分运行的客户端负载均衡器维护。原创 2023-01-13 10:50:53 · 270 阅读 · 0 评论 -
【K3s】第13篇 嵌入式DB的高可用安装部署k3s(详细步骤)
从 v1.19.5+k3s1 版本开始,K3s 已添加了对嵌入式 etcd 的完全支持。从 v1.19.1 到 v1.19.4 版本只提供了对嵌入式 etcd 的实验性支持。在 K3s v1.19.1 版本中,嵌入式 etcd 取代了实验性的 Dqlite。这是一个突破性的变化。请注意,不支持从实验性 Dqlite 升级到嵌入式 etcd。如果你尝试升级,升级将不会成功,并且数据将会丢失。嵌入式 etcd (HA) 在速度较慢的磁盘上可能会出现性能问题,例如使用 SD 卡运行的 Raspberry Pi。原创 2023-01-13 09:54:36 · 305 阅读 · 0 评论 -
【K3s】第12篇 一篇文章带你部署k3s单节点架构(详细步骤)
K3s 单节点集群的架构如下图所示,该集群有一个内嵌 SQLite 数据库的单节点 K3s server。在这种配置中,每个 agent 节点都注册到同一个 server 节点。K3s 用户可以通过调用 server 节点上的 K3s API 来操作 Kubernetes 资源。原创 2023-01-13 09:23:45 · 665 阅读 · 0 评论 -
【K3s】第11篇 解决“1 Preemption is not helpful for scheduling”问题
输出结果显示由于节点内存不足,该容器无法被调度。原创 2022-12-29 13:42:39 · 2165 阅读 · 0 评论 -
【K3s】第10篇 详解k3s安装的选项(环境变量配置)
【K3s】第10篇 详解k3s安装的选项(环境变量配置)原创 2022-12-28 11:36:59 · 319 阅读 · 0 评论 -
【K3s】第9篇 详解节点Node
就 Node 而言,隐式假定使用相同名称的实例会具有相同的状态(例如网络配置、根磁盘内容) 和类似节点标签这类属性。如果某个 Node 需要被替换或者大量变更,需要从 API 服务器移除现有的 Node 对象, 之后再在更新之后重新将其加入。Kubernetes 通过将容器放入在节点(Node)上运行的 Pod 中来执行你的工作负载。如果节点是健康的(即所有必要的服务都在运行中),则该节点可以用来运行 Pod。否则,直到该节点变为健康之前,所有的集群活动都会忽略该节点。向 API 服务器注册节点时使用的。原创 2022-12-27 17:26:43 · 434 阅读 · 0 评论 -
【K3s】第8篇 详解 Kubernetes 组件
云控制器管理器(Cloud Controller Manager)允许你将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。仅运行特定于云平台的控制器。因此如果你在自己的环境中运行 Kubernetes,或者在本地计算机中运行学习环境, 所部署的集群不需要有云控制器管理器。在生产环境中,控制平面通常跨多台计算机运行, 一个集群通常运行多个节点,提供容错性和高可用性。节点组件会在每个节点上运行,负责维护运行的 Pod 并提供 Kubernetes 运行环境。原创 2022-12-27 17:18:24 · 513 阅读 · 0 评论 -
【K3s】第7篇 详解Kubernetes发布服务类型(例如:暴露给 Kubernetes 集群外部的 IP 地址)
你可以在集群中设置节点以使用特定 IP 地址来提供 NodePort 服务。如果每个节点都连接到多个网络(例如:一个网络用于应用程序流量,另一个网络用于节点和控制平面之间的流量), 你可能需要执行此操作。如果你要指定特定的 IP 地址来代理端口,可以将 kube-proxy 的标志或kube-proxy 配置文件的等效字段设置为特定的 IP 段。此标志采用逗号分隔的 IP 段列表(例如10.0.0.0/8、)来指定 kube-proxy 应视为该节点本地的 IP 地址范围。例如,如果你使用。原创 2022-12-27 16:00:07 · 498 阅读 · 0 评论 -
【K3s】第6篇 详解yaml文件,pod端口供外部访问
【K3s】第6篇 详解yaml文件,pod端口供外部访问。原创 2022-12-27 13:47:55 · 1029 阅读 · 0 评论 -
【K3s】第5篇 解决出现“Back-off restarting failed container”
通过k3s部署服务遇到如下问题解决出现“Back-off restarting failed container”原创 2022-12-26 16:48:50 · 659 阅读 · 0 评论