![](https://img-blog.csdnimg.cn/23f8dc484e94445987f399d558cb38c0.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
云原生
文章平均质量分 89
云原生离不开云计算,笼统地说,云原生属于云计算的PaaS层服务,主要是面向开发者的一类应用。云原生必须在云上安装,是一种基于云计算的软件开发应用方式。
念舒_C.ying
博主:念舒_C.ying
展开
-
KafkaOffsetMonitor:监控消费者和延迟的队列
KafkaOffsetMonitor`是用来实时监控Kafka集群中的consumer以及在队列中的位置(偏移量)。你可以查看当前的消费者组,每个topic队列的所有partition的消费情况。可以很快地知道每个partition中的消息是否很快被消费以及相应的队列消息增长速度等信息。这些可以debug kafka的producer和consumer,你完全知道你的系统将会发生什么。这个web管理平台保留的partition offset和consumer滞后的历史数据(具体数据保存多少天我们可以在启动的原创 2022-10-24 07:00:00 · 20560 阅读 · 5 评论 -
手把手教你写Kafka Streams程序
在本指南中,我们将从头开始帮助你搭建自己的Kafka Streams流处理程序。 强烈建议您首先阅读[快速入门](https://www.orchome.com/936),了解如何运行使用Kafka Streams编写的Streams应用程序我们将使用Kafka Streams Maven Archetype来创建Streams项目结构原创 2022-10-23 13:07:09 · 5159 阅读 · 1 评论 -
【云原生 · Kubernetes】Taint和Toleration(污点和容忍)
节点亲和性是`pod`的一种属性(优先选择或硬性要求),它使 *pod* 被优先分配到一类特定的节点上。而`Taint`则相反,它使`节点`能够`排斥`一类特定的 pod。Taint(污点)和 toleration(容忍)相互配合,可以用来避免 pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个 taint ,这表示对于那些不能容忍这些 taint 的 pod,是不会被该节点接受的。如果将 toleration 应用于 pod 上,则表示这些 pod 可以(但不要求)被调度到具有匹配 tai原创 2022-10-22 09:18:58 · 1540 阅读 · 21 评论 -
【云原生 · Kubernetes】Kubernetes Node的隔离与恢复
在硬件升级、硬件维护等情况下,我们需要将某些Node进行隔离,脱离Kubernetes集群的调度范围。Kubernetes提供了一种机制,即可以将Node纳入调度范围,也可以将Node脱离调度范围。需要注意的是,将某个 Node 脱离调度范围时,在其上运行的pod并不会自动停止,管理员需要手动停止在该 Node 上运行的 Pod。查看 Node 的状态,可以观察到在Node的状态中增加了一项。同样,如果需要将某个 Node 重新纳入集群调度范围,则将。也用于实现将Node进行隔离和恢复调度的操作。原创 2022-10-21 08:49:57 · 1595 阅读 · 0 评论 -
【云原生 · Docker】Docker入门、安装配置
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。“Docker”应该是2014年最火爆的技术之一,如果没有听说过,那么你就out了,2015年将开启新的跨越。原创 2022-09-20 09:55:10 · 365 阅读 · 1 评论 -
【云原生 · DevOps】DevOps 解决方案
允许用户通过自己编写 YAML 文件和代码仓库存放在一起,在 YAML 里面自定义各种编译环境和命令。原创 2022-09-16 11:15:16 · 1577 阅读 · 1 评论 -
Ansible执⾏速度优化
优化⼀: 开启SSH长连接Ansible模式是使⽤SSH和远程主机进⾏通信, 所以Ansible对SSH的依赖性⾮常强, 在OpenSSH 5.6版本以后SSH就⽀持了Multiplexing, pipelining也是OpenSSH的⼀个特性, 在Ansible的整个执⾏流程中, 把⽣成好的本地python脚本PUT到远程服务器. 如果开启了pipelining, 这个过程将在SSH会话中进⾏, 这样可以⼤⼤提⾼整个执⾏效率. 当然开启pipelining, 需要被控机/etc/sudoers⽂件编辑当前原创 2022-09-14 08:22:07 · 660 阅读 · 1 评论 -
【云原生 · Kubernetes】部署zookeeper
ZooKeeper是一种 为分布式应用所设计的高可用、高性能 且一致的 开源协调服务,它提供了一项基本服务:分布式锁服务。由于ZooKeeper的开源特性,后来的开发者在分布式锁的基础上,摸索了出了其他的使用方法:配置维护、组服务、分布式消息队列、分布式通知/协调等。在分布式协调技术方面做得比较好的就是Google的Chubby还有Apache的ZooKeeper都是分布式锁的实现者。Chbby是非开源的,Google自家用。后来雅虎模仿Chubby开。原创 2022-09-13 11:08:12 · 1728 阅读 · 14 评论 -
RabbitMQ快速入门
为了保证除了自动生动的队列之外的其它队列能在所有节点上实现镜像,必须将 RabbitMQ策略配置项 ha-mode 设置为 all。单个节点服务器的故障不会导致消息的交换和绑定完全不可用,但是具体一个消息队列及其中的内容则相反。将多个 RabbitMQ 节点组织成一个集群,构建一个 RabbitMQ broker 服务,即一个 Erlang 节点的逻辑集合。在所有节点上重新启动 RabbitMQ 服务,确保在所有节点上都能正常启动。在除第一台节点之外的其它节点服务器上运行下面的命令。原创 2022-09-13 10:41:09 · 954 阅读 · 20 评论 -
【OpenStack云平台】网络控制节点 HA 集群配置
因为云计算成为了监控工程师👨🏻💻网络控制节点运行在管理网络和数据网络中,如果虚拟机实例要连接到互联网,网络控制节点也需要具备互联网连接。Pacemaker 要求所有的节点服务器使用不用的主机名,而 OpenStack 网络服务调度程序只会关注其中一台(例如,一个虚拟路由器只能在其中一台运行 L3 代理的服务上启动),因此需要对 RA (Pacemaker 资源代理程序) 脚本进行相应修改。原创 2022-09-10 11:51:21 · 1319 阅读 · 13 评论 -
【OpenStack云平台】Packmaker 集群
Pacemaker 通过资源代理程序(默认提供了 70 多种)和应用程序进行交互,在 Pacemaker集群中应用第三方资源代理程序也非常容易。OpenStack 高可用配置中使用了 Pacemaker 自带的资源代理程序(如 MySQL 数据库服务、虚拟 IP 地址等)、已有的第三方资源代理程序(如 RabbitMQ 服务)以及 OpenStack 资源代理程序(如 OpenStack 身份认证服务、磁盘镜像服务)。原创 2022-09-10 11:35:15 · 1355 阅读 · 12 评论 -
【云原生 · Kubernetes】配置 Rancher docker 云平台
Rancher 是一个开源的企业级容器管理平台。通过 Rancher,企业再也丌必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher 提供了在生产环境中使用的管理 Docker 和 Kubernetes 的全栈化容器部署不管理平台。基础设施编排Rancher 可以使用任何公有云戒者私有云的 Linux 主机资源。Linux 主机可以是虚拟机,也可以是物理机。Rancher 仅需要主机有 CPU,内存,本地磁盘和网络资源。原创 2022-09-09 09:14:46 · 1018 阅读 · 2 评论 -
【云原生 · Kubernetes】部署 kube-proxy 组件
因为云计算成为了监控工程师👨🏻💻kube-proxy 运行在所有 worker 节点上,它监听 apiserver 中 service 和 endpoint 的变化情况,创建路由规则以提供服务 IP 和负载均衡功能。讲解部署 ipvs 模式的 kube-proxy 过程。注意:如果没有特殊指明,所有操作,然后远程分发文件和执行命令。原创 2022-09-09 08:33:06 · 1129 阅读 · 5 评论 -
【云原生 · Kubernetes】部署高可用kube-scheduler集群
该集群包含 3 个节点,启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态。当leader 节点不可用后,剩余节点将再次进行选举产生新的 leader 节点,从而保证服务的可用性。==先生成 x509 证书和私钥,kube-scheduler 在如下两种情况下使用该证书:==1. 与 kube-apiserver 的安全端口通信;2. 在安全端口(https,10259) 输出 prometheus 格式的 metrics;原创 2022-09-08 12:51:34 · 709 阅读 · 17 评论 -
【云原生 · Kubernetes】部署高可用 kube-controller-manager 集群
该集群包含 3 个节点,启动后将通过竞争选举机制产生一个 leader 节点,其它节点为阻塞状态。当leader 节点不可用时,阻塞的节点将再次进行选举产生新的 leader 节点,从而保证服务的可用性。1. 与 kube-apiserver 的安全端口通信;2. 在==安全端口==(https,10257) 输出 prometheus 格式的 metrics;注意:如果没有特殊指明,本文档的所有操作==均在 qist 节点上执行。原创 2022-09-07 08:39:09 · 1290 阅读 · 28 评论 -
【云原生 · Kubernetes】部署kube-apiserver集群
advertise-address :apiserver 对外通告的 I(kubernetes 服务后端节点 IP);default-*-toleration-seconds :设置节点异常相关的阈值;- max-*-requests-inflight :请求相关的最大阈值;- etcd-* :访问 etcd 的证书和 etcd 服务器地址;- bind-address : https 监听的 IP,不能为 127.0.0.1 ,否则外界不能访问它的安全端口 5443;- secret-po原创 2022-09-06 18:23:45 · 1434 阅读 · 16 评论 -
【云原生 · Kubernetes】runtime组件
8.1 部署cri-o组件 cri-o 实现了 kubernetes 的 Container Runtime Interface (CRI) 接口,提供容器运行时核心功能,如镜像管理、容器管理等,相比 docker 更加简单、健壮和可移植。下载二进制文件原创 2022-09-06 09:07:23 · 920 阅读 · 19 评论 -
【云原生 · Kubernetes】apiserver高可用
7.1 高可用选型 ipvs+keepalived、nginx+keepalived、haprxoy+keepalived每个节点kubelet 启动静态pod nginx haprxoy、本文档选择每个节点kubelet 启动静态pod nginx haprxoy、7.2 构建nginx或者haproxy镜像原创 2022-09-05 14:22:41 · 1322 阅读 · 38 评论 -
【云原生 · Kubernetes】kubernetes v1.23.3 二进制部署(三)
etcd 是基于 Raft 的分布式 KV 存储系统,由 CoreOS 开发,常用于服务发现、共享配置以及并发控制(如 leader 选举、分布式锁等)。k8s-master-1 k8s-master-2 k8s-master-3 节点上执行。k8s-master-1 k8s-master-2 k8s-master-3 节点上执行。kubernetes 使用 etcd 集群持久化存储所有 API 对象、运行数据。期待下次的分享,别忘了三连支持博主呀~192.168.2.175节点。,期待你的关注~💪💪💪。原创 2022-09-03 09:47:53 · 551 阅读 · 5 评论 -
【云原生 · Kubernetes】kubernetes v1.23.3 二进制部署(二)
CA (Certificate Authority) 是自签名的根证书,用来签名后续创建的其它证书。注意:如果没有特殊指明,本文档的所有操作。期待下次的分享,别忘了三连支持博主呀~CA 证书是集群所有节点共享的,证书对通信进行加密和认证。,后续用它签名其它所有证书。下表可帮助您创建证书请求。,期待你的关注~💪💪💪。原创 2022-09-02 10:32:00 · 556 阅读 · 16 评论 -
【云原生 · Kubernetes】kubernetes v1.23.3 二进制部署(一)
三台机器混合部署本文档的 etcd、master 集群和 woker 集群。本操作只需要在 qist 节点上进行,设置 root 账户可以无密码登录。kubeelt cri-o Cgroup 配置为systemd。退出,重新登录 root 账号,可以看到主机名生效。期待下次的分享,别忘了三连支持博主呀~上执行本文档的初始化操作。如果没有特殊说明,需要在。,期待你的关注~💪💪💪。......原创 2022-08-29 00:00:00 · 522 阅读 · 31 评论 -
【云原生 · Kubernetes】基础组件、Pod、Etcd的相关问题
在以前的版本中,核心的 Kubernetes 代码依赖于特定云提供商的代码来实现功能。在将来的版本中,云供应商专有的代码应由云供应商自己维护,并与运行 Kubernetes 的云控制器管理器相关联。主节点上的组件,该组件监视那些新创建的未指定运行节点的Pod,并选择节点让 Pod 在上面运行。如果是由上层的控制器(deployment、StatefulSet、DaemonSet之类的)进行控制的话,需要查看当前控制Pod的ReplicaSet,查看里面的Event是什么原因导致的Pending。......原创 2022-08-28 05:56:55 · 416 阅读 · 2 评论 -
【云原生 · Kubernetes】Jenkins+Gitlab+Rancher+Docker 实现自动构建镜像的 CI 平台(一)
Harbor 概述:Docker 容器应用的开发和运行离丌开可靠的镜像管理,虽然 Docker 官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的 Registry 也是非常必要的。Harbor 服务就会根据当期目录下的/opt/harbor/docker-compose.yml 开始下载依赖的镜像,检测并按照顺序依次启劢各个服务。总结:发现新下载的 git 版本中 start.sh 也有可执行的权限,说明我提交的代码权限是正常的。到此基本的实验环境,算是搭建成功了。...原创 2022-08-27 07:00:00 · 567 阅读 · 2 评论 -
【云原生 · Kubernetes】Kubernetes 编排部署GPMall(一)
上传到master 节点/root 目录下并解压。Kubernetes 集群已部署完成,将提供的。期待下次的分享,别忘了三连支持博主呀~(1)编写 Dockerfile。(1)编写 Dockerfile。(1)编写 Dockerfile。,期待你的关注~💪💪💪。原创 2022-08-21 10:11:31 · 1267 阅读 · 1 评论 -
【OpenStack云平台】openstack命令行管理之环境变量设置
glance 可以使用以下参数 --id #镜像的ID;--name #镜像的名称;openstack的命令行工作,很多命令都需要设置很多参数,主要是openstack的不同的project之间相互通信,以及不同的用户的权限不同,API大多都涉及到权限认证等过程。为了使用的方便,需要将这些参数设置为环境变量,也是官方建议的做法。若不做这个,每次输入命令的时候带上参数其实也可以,只是比较麻烦...原创 2022-08-11 13:23:09 · 2491 阅读 · 0 评论 -
【云原生 · Kubernetes】Kubernetes容器云平台部署与运维
4)容器启动时运行命令“echo Healty > /usr/share/nginx/html/healthz”;(5)httpGet请求的资源路径为/healthz,地址默认为Pod IP,端口使用容器中定义的端口名称HTTP;(1)Deployment名称:nginx-deployment;(3)Pod名称:nginx-deployment,副本数:2;(1)Pod名称:liveness-http;(1)Replicaset名称:nginx;(3)镜像:nginx;(2)命名空间:default;...原创 2022-08-06 08:40:54 · 741 阅读 · 0 评论 -
【云原生 · Kubernetes】部署博客系统
WordPress容器将网站数据文件位于/var/www/html的PersistentVolume。WORDPRESS_DB_HOST环境变量集上面定义的MySQLService的名称,WordPress将通过Service访问数据库。WORDPRESS_DB_PASSWORD环境变量设置从Secretkustomize生成的数据库密码。MySQL容器将PersistentVolume挂载在/var/lib/mysql。启动NFS服务后RPC服务已经启用了对NFS的端口映射列表。创建mysql pv卷。.原创 2022-08-05 08:49:21 · 306 阅读 · 1 评论 -
【云原生 · Kubernetes】Kubernetes运维
滚动升级通过执行kubectl rolling-update命令一键完成,该命令创建了一个新的Deployment,然后自动控制旧的Deployment中的Pod副本数量逐渐减少到0,同时新的Deployment中的Pod副本数量从0逐步增加到目标值,最终实现了Pod的升级。查看Node的状态,可以观察到在node的状态中增加了一项SchedulingDisabled,对于后续创建的Pod,系统将不会再向该Node进行调度。这就是滚动的意思,始终保持副本数量为3,控制新旧Pod的交替,实现了无缝升级。...原创 2022-08-04 17:23:07 · 596 阅读 · 0 评论 -
【云原生 · Docker】Docker虚拟化技术
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。“Docker”应该是2014年最火爆的技术之一,如果没有听说过,那么你就out了,2015年将开启新的跨越。...原创 2022-08-04 10:51:44 · 1029 阅读 · 1 评论 -
【云原生 · Kubernetes】部署Kubernetes集群
node节点加入集群。Kubernetes默认的容器运行时仍然是Docker,使用的是kubelet中内置dockershim CRI实现。出于安全考虑,默认配置下Kubernetes不会将Pod调度到Master节点。如果希望将master也当作Node节点使用原创 2022-08-03 09:20:22 · 339 阅读 · 0 评论 -
【云原生 · Kubernetes】搭建Harbor仓库
在master节点执行脚本k8s_harbor_install.sh即可完成harbor仓库的搭建,具体步骤参考如下(1)-(3)步骤。Kubernetes默认的容器运行时仍然是Docker,使用的是kubelet中内置dockershim CRI实现。登录Harbor仓库(http://192.168.100.10)进入Harbor仓库library项目查看镜像列表。期待下次的分享,别忘了三连支持博主呀~,期待你的关注~💪💪💪。...原创 2022-08-02 21:20:41 · 561 阅读 · 1 评论 -
【云原生 · Kubernetes】Kubernetes基础环境搭建
本次实验环境采用master+node两个节点部署,node节点可以根据需求自主扩展。安装运行环境系统要求为CentOS7.5,内核版本不低于3.10。Docker版本为docker-ce-19.03.1。Kubernetes版本为1.18.1。期待下次的分享,别忘了三连支持博主呀~,期待你的关注~💪💪💪。........................原创 2022-08-01 13:31:39 · 943 阅读 · 6 评论 -
【云原生 · Kubernetes】Kubernetes简介及基本组件
Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能,如图1.3所示。使用Docker对应用程序包装(package)、实例化(instantiate)、运行(run)。以集群的方式运行、管理跨机器的容器。解决Docker跨机器容器之间的通讯问题。Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。图1.3Kubernetes的功能结构。......原创 2022-08-01 12:44:48 · 386 阅读 · 3 评论 -
【云原生 · Docker】Docker简介及基本组件
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。服务器(Dockerdaemon)后台运行的Dockerdaemon进程。Daemon进程用于管理Docker对象,包括镜像(images)、容器(containers)、网络(networks)、数据卷(datavolumes)。同daemon交互的RESTAPI接口。......原创 2022-08-01 10:02:34 · 452 阅读 · 3 评论