╰つ栺尖篴夢ゞ
本人毕业于计算机技术专业,从事iOS高级开发,专注于iOS/MacOS内核/汇编/源码/架构/算法等相关技术的开发学习,同时热爱人工智能、OpenGL/ES、云原生等技术,优快云博客专家与原力计划作者,华为云云享专家与特约博主,阿里云专家博主,荣获优快云 iOS领域优质创作者、2022年度博客之星移动领域TOP 3、2022年度博客之星TOP 16、AI创想秀邂逅“华为云ModelArts”征文大赛一等奖、优快云第一届猿创征文优质博文奖,以及多项优秀TOP博文、优快云开源挑战赛优秀奖等。
展开
-
华为应用魔方AppCube深度使用体验与AppCube应用开发实践
一、AppCube 简介① 什么是应用魔方 AppCube?低代码开发平台是一种全新的开发方式,通过平台提供的界面、逻辑、对象等可视化编排工具,以“拖、拉、拽”的方式来快速构建应用,从而即所见即所得的快速应用开发和构建。应用魔方 AppCube(以下简称 AppCube)是零代码和低代码应用开发平台,源于华为应用开发和数字化转型的实践,提供了云上无码化、低码化、支持多码化的应用开发模式,屏蔽了技术的复杂性,提升了企业开发的效率。应用魔方 AppCube 是华为云为行业客户、合作伙伴、开发者量身打造原创 2022-03-22 15:18:53 · 32228 阅读 · 17 评论 -
人工智能之华为云ModelArts的深度使用体验与AI Gallery应用开发实践
一、ModelArts 简介① 什么是 ModelArts?ModelArts 是面向 AI 开发者的一站式开发平台,提供海量数据预处理及半自动化标注、大规模分布式训练、自动化模型生成及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期 AI 工作流。“一站式”是指 AI 开发的各个环节,包括数据处理、算法开发、模型训练、模型部署都可以在 ModelArts 上完成。从技术上看,ModelArts 底层支持各种异构计算资源,开发者可以根据需要灵活选择使用,而不需要关心底层的技术。同时原创 2022-01-24 21:41:57 · 18050 阅读 · 0 评论 -
华为云原生之KubeEdge深度使用体验与Kubeflow应用开发实践
KubeEdge是一个开源的系统,可将本机容器化应用编排和管理扩展到边缘端设备。它是基于Kubernetes的构建,为网络和应用程序提供核心基础架构支持,并在云端和边缘端部署应用,同步元数据。那么,如何升级和部署KubeEdge?如何配置CloudCore和EdgeCore?如何使用Kubeflow和Volcano实现典型的AI训练任务?带着这些问题,我们一起去一探究竟,玩转KubeEdge!!!原创 2022-05-12 14:32:17 · 5515 阅读 · 6 评论 -
华为云原生Kubernetes之运行Volcano高性能作业的深度使用和实践
一、Volcano 简介① 什么是 Volcano ?Volcano 是 CNCF 下首个也是唯一的基于 Kubernetes 的容器批量计算平台,主要用于高性能计算场景,提供了机器学习、深度学习、生物信息学、基因组学及其他大数据应用所需要而 Kubernetes 当前缺失的一系列特性。Volcano 提供高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力,通过接入 AI、大数据、基因、渲染等诸多行业计算框架服务终端用户。Volcano 针对计算型应用提供了作业调度、作业管理原创 2022-05-18 19:50:51 · 4182 阅读 · 2 评论 -
人工智能之华为云5G基站有AI,智能处理流量“潮汐”
一、5G 基站能否智能“省电”?① 能耗和能效随着中国 5G 基站部署规模的扩大,5G 基站能耗惊人的说法甚嚣尘上,众口铄金,5G 基站似乎坐实“电老虎”的尴尬地位。如下是一张某运营商的内部流出照片,从中可以看出,5G AAU 和 4G RRU 的满载功耗相差极为悬殊,不得不承认 5G 的能耗确实远高于 4G:在移动的节能技术白皮书中,也明确地写着:“2019 年初 5G 基站功耗约为 4G 基站的 3~4 倍,高功耗是运营商大规模部署 5G 的棘手问题”:联通也在其白皮书中写道:“5原创 2022-05-23 20:20:20 · 2613 阅读 · 0 评论 -
华为云原生之数据仓库服务GaussDB(DWS)的深度使用与应用实践
华为云原生数据仓服务GaussDB(DWS)是什么?它有什么功能和特点?相对于传统的数据库,它的优势是什么?如何使用GaussDB(DWS)?它的使用流程是怎样的?GaussDB(DWS)的基本用法有哪些?如何运用GaussDB(DWS)来进行数据模拟分析以及工作负载管理?带着这些疑问,我们一起去GaussDB(DWS)的世界里一探究竟,玩转GaussDB(DWS)!!......原创 2022-06-09 18:48:17 · 10023 阅读 · 0 评论 -
华为云服务之弹性云服务器ECS的深度使用和云端实践
什么是弹性云服务器ECS?ECS的产品架构是什么?它有哪些优势和有应用场景?弹性云服务器ECS的使用流程是怎样的?如何运用弹性云服务器ECS搭建微信公众号后台并收发文本消息?让我们带着这些疑问,去弹性云服务器ECS的世界里一探究竟,玩转ECS!!...原创 2022-06-11 18:48:31 · 2134 阅读 · 4 评论 -
云原神之深入解析Helmfile的功能和使用
使用 helmfile 时,首先得了解 helm 的使用,以及如何开发一个 helm chart。helm 是 kubernetes 的包管理工具。在实际的使用场景中涉及同时部署多个 chart、区分不同的部署环境、版本控制等需求。基于此需求,可以使用 helmfile 工具。helmfile 通过 helmfile 文件帮助用户管理和维护多个 helm chart,可以来区分环境、实现版本控制。原创 2023-12-18 15:11:19 · 579 阅读 · 0 评论 -
华为云之深入探究GaussDB如何助力企业公司打造金融核心数据
构建安全可信、以应用为中心的数据库云服务原创 2022-07-25 16:21:08 · 836 阅读 · 0 评论 -
云原生之深入解析Airbnb的动态Kubernetes集群扩缩容
Airbnb 基础设施的一个重要作用是保证我们的云能够根据需求上升或下降进行自动扩缩容,我们每天的流量波动都非常大,需要依靠动态扩缩容来保证服务的正常运行。为了支持扩缩容,Airbnb 使用了 Kubernetes 编排系统,并且使用了一种基于 Kubernetes 的服务配置接口。现在来讨论一下如何使用 Kubernetes Cluster Autoscaler 来动态调整集群的大小,这些改进增加了可定制性和灵活性,以满足 Airbnb 独特的业务需求。原创 2023-05-22 17:29:54 · 1064 阅读 · 0 评论 -
云原生之深入解析如何无需依赖Docker环境制作Java应用镜像
随着高版本的 Kubernetes 弃用 Docker,企业也可以不依赖 Docker 环境了,但是 DevOps 通过 Kubernetes 部署的话,仍然需要制作镜像,那么在没有 Docker 环境的情况下如何制作呢?推荐一款谷歌的开源工具 Jib。原创 2023-12-18 15:54:37 · 585 阅读 · 0 评论 -
云原生之深入解析Kubernetes如何使用Leader选举机制来实现自己的HA应用
在 Kubernetes 的 kube-controller-manager , kube-scheduler, 以及使用 Operator 的底层实现 controller-rumtime 都支持高可用系统中的 leader 选举,本文将以理解 controller-rumtime (底层的实现是 client-go) 中的 leader 选举以在 kubernetes controller 中是如何实现的。原创 2023-05-23 10:15:24 · 933 阅读 · 0 评论 -
云原生之深入解析Kubernetes常见的多集群方案
Kubernetes 从 1.8 版本起就声称单集群最多可支持 5000 个节点和 15 万个 Pod,实际上应该很少有公司会部署如此庞大的一个单集群,很多情况下因为各种各样的原因我们可能会部署多个集群,但是又想将它们统一起来管理,这时候就需要用到集群联邦(Federation)。集群联邦的一些典型应用场景:高可用:在多个集群上部署应用,可以最大限度地减少集群故障带来的影响;避免厂商锁定:可以将应用负载分布在多个厂商的集群上并在有需要时直接迁移到其它厂商。原创 2023-05-24 14:38:28 · 1183 阅读 · 0 评论 -
云原生之深入解析Kubernetes的网络模型
Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行、监控和排查应用程序故障。网络所涉及的内容很多,拥有许多成熟的技术。对于不熟悉的人来说可能会非常痛苦,因为大多数人对网络都有先入为主的观念,并且有很多新旧概念需要理解并组合成一个连贯的整体,因此的网络可能包括网络命名空间、虚拟接口、IP 转发和网络地址转换等技术。原创 2023-05-26 11:12:24 · 1437 阅读 · 0 评论 -
云原生之深入解析Docker容器退出码的含义和产生原因
为什么我的容器没有运行?回答这个问题之前,需要知道 Docker 容器为什么退出?退出码会提示容器停止运行的情况?本文列出最常见的退出码,来回答两个重要问题:这些退出码是什么意思?导致该退出码的动作是什么?exit code:代表一个进程的返回码,通过系统调用 exit_group 来触发,在 POSIX 中,0 代表正常的返回码,而 1-255 代表异常返回码,不过一般错误码都是 1。原创 2023-05-26 14:57:06 · 1914 阅读 · 0 评论 -
云原生之深入解析Kubernetes中K8S Service的基础使用及实现原理
ClusterIP 类型,KubeProxy 监听 Service 和 Endpoint 创建规则,采用 DNAT 将目标地址转换为 Pod 的 ip 和端口,当有多个 ep 时,按照策略进行转发,默认 RR 模式时,iptables 采用:比如有 4 个实例,四条规则的概率分别为 0.25, 0.33, 0.5 和 1,按照顺序,一次匹配完成整个流量的分配。原创 2023-05-26 15:27:48 · 1388 阅读 · 0 评论 -
云原生之深入解析使用Kube-capacity CLI查看Kubernetes资源请求、限制和利用率
Kube-capacity 是一个简单而强大的 CLI,它提供了 Kubernetes 集群中资源请求、限制和利用率的概览。它将输出的最佳部分结合 kubectl top 到 kubectl describe 一个易于使用的集中于集群资源的 CLI 中。不过像这样的工具确实好用一些,比如如果想看这个 kube-system 下有哪些 pod 有没有设置 request 和 limit 的时候,实际上,需要输入一段很长的命令才能列出,而且需要一些调试,这看起来不是特别方便。原创 2023-06-09 10:45:10 · 1784 阅读 · 0 评论 -
云原生之深入解析Docker容器的health健康状态检查
自 1.12 版本之后,Docker 引入了原生的健康检查实现。对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活。Docker Daemon 会自动监控容器中的 PID1 进程,如果 docker run 命令中指明了 restart policy,可以根据策略自动重启已结束的容器。- 在很多实际场景下,仅使用进程级健康检查机制还远远不够。比如,容器进程虽然依旧运行却由于应用死锁无法继续响应用户请求,这样的问题是无法通过进程监控发现的。原创 2023-06-14 18:00:35 · 1699 阅读 · 0 评论 -
云原生之深入解析如何正确计算Kubernetes容器CPU使用率
使用 Prometheus 配置 kubernetes 环境中 Container 的 CPU 使用率时,会经常遇到 CPU 使用超出 100%,现在来分析一下:container_spec_cpu_period:当对容器进行 CPU 限制时,CFS 调度的时间窗口,又称容器 CPU 的时钟周期通常是 100000 微秒。原创 2023-06-17 16:04:44 · 2983 阅读 · 0 评论 -
云原生之深入解析Docker如何开启IPv6
前置条件:确保自己的设备被分配了一个 IPv6。创建一个支持 IPv6 的 bridge 网络。其中 --subnet 参数为上一步获取到的 IPv6 网段的子网(自定义 bridge 网络,前缀长度不限制,可以大于于 80)。通过 docker network inspect my-net-ipv6 命令检查是否生效。若生效,则 EnableIPv6 值为 true,IPAM.Config[1].Subnet 是上一步配置的 fixed-cidr-v6。原创 2023-06-17 16:19:57 · 3826 阅读 · 4 评论 -
云原生之深入解析Kubernetes策略引擎对比:OPA/Gatekeeper与Kyverno
Kubernetes 的 Pod Security Policy,正如其名字所暗示的,仅是针对 Pod 工作的,是一种用来验证和控制 Pod 及其属性的机制。另外 PSP 只能屏蔽非法 Pod 的创建,无法执行任何补救/纠正措施。而 Gatekeeper 和 Kyverno 的作用范围就不是局限在 Pod 上,并且也有更多更深入的功能,而不只是简单的验证功能。策略引擎是一种能对整个 Kubernetes 环境进行全局控制的方法。原创 2023-12-04 15:11:43 · 964 阅读 · 0 评论 -
云原生之深入解析Kubernetes中Kubectl Top如何进行资源监控
kubectl top 可以很方便地查看 node、pod 的实时资源使用情况:如 CPU、内存,本文将分析其数据链路和实现原理,同时借 kubectl top 阐述 k8s 中的监控体系:kubectl top 为什么会报错?kubectl top node 怎么计算,和节点上直接 top 有什么区别?kubectl top pod 怎么计算,包含 pause 吗?kubectl top pod 和 exec 进入 pod 后看到的 top 不一样?原创 2023-06-19 11:45:49 · 2026 阅读 · 0 评论 -
云原生之深入解析如何调试Kubernetes集群中的网络延迟问题
随着 Kubernetes 集群规模不断增长,对于服务延迟的要求越来越严苛,有时候观察到一些运行在 Kubernetes 平台上的服务正在面临偶发的延迟问题,这些断断续续的问题并不是由于应用本身的性能问题导致的。慢慢发现,Kubernetes 集群上的应用产生的延迟问题看上去似乎是随机的,对于某些网络连接的建立可能会超过 100ms,从而使得下游的服务产生超时或者重试,这些服务本身处理业务的响应时间都能够很好地保持在 100ms 以内,而建立连接就需要花费 100ms 以上是不可忍受的。原创 2023-12-13 10:30:09 · 1481 阅读 · 0 评论 -
云原生之深入解析如何使用Prometheus扩展Kubernetes调度器
Kubernetes 集群中允许运行多个不同的 scheduler,也可以为 Pod 指定不同的调度器进行调度。在一般的 Kubernetes 调度教程中并没有提到这点,这也就是说,对于亲和性,污点等策略实际上并没有完全的使用 kubernetes 调度功能,在之前提到的一些调度插件,如基于端口占用的调度 NodePorts 等策略一般情况下是没有使用到的,本文就是对这部分内容进行讲解,这也是作为扩展调度器的一个基础。原创 2023-06-19 16:10:40 · 1425 阅读 · 3 评论 -
云原生之深入解析如何在Kubernetes下快速构建企业级云原生日志系统
ELK 是三个开源软件的缩写,分别表示 Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个 FileBeat,它是一个轻量级的日志收集处理工具 (Agent),Filebeat 占用资源少,适合于在各个服务器上搜集日志后传输给 Logstash,官方也推荐此工具。原创 2023-06-20 18:31:07 · 2167 阅读 · 14 评论 -
云原生之深入解析Kubernetes应用包管理器Helm的保姆级教程和实战
我们可以将 Helm 看作 Kubernetes 下的 apt-get/yum,Helm 是 kubernetes 的包管理器,Helm 仓库里面只有配置清单文件,而没有镜像,镜像还是由镜像仓库来提供,比如 hub.docker.com、私有仓库。官方文档。Helm Chart 模板是按照 Go 模板语言书写,增加了 50 个左右的附加模板函数来自 Sprig 库和一些其它指定的函数。原创 2023-06-21 16:10:31 · 1723 阅读 · 2 评论 -
云原生之深入解析如何使用KubeSeal高效加密和管理Kubernetes集群的Secret
在 K8s 的管理过程中,像 Secret 这种资源并不好维护,KubeSeal 提供了一种相对简单的方式来对原始 Secret 资源进行加密,并通过控制器进行解密,以此来规避 Secret 泄露风险。原创 2023-06-27 00:36:47 · 1362 阅读 · 0 评论 -
云原生之深入解析Kubernetes网络流量的流转路径
本文可以了解在 Kubernetes 内外,数据包是如何转发的,从原始的 Web 请求开始,到托管应用程序的容器:1、容器如何在本地或 Pod 内通信?2、在相同节点和不同节点上的 Pod 如何通信?3、Pod-to-Service - Pod 如何将流量发送到 Kubernetes 中服务后面的 Pod 时?4、什么是命名空间、veth、iptables、chains、conntrack、Netfilter、CNI、overlay 网络,以及 Kubernetes 网络工具箱中所需的一切。原创 2023-06-29 16:58:58 · 1046 阅读 · 0 评论 -
云原生之深入解析Dapr安全性之访问控制策略
安全是 Dapr 的基础,本文我们将来说明在分布式应用中使用 Dapr 时的安全特性和能力,主要可以分为以下几个方面。与服务调用和 pub/sub APIs 的安全通信。组件上的安全策略并通过配置进行应用。运维操作安全实践。状态安全,专注于静态的数据。原创 2023-06-29 19:29:35 · 1338 阅读 · 4 评论 -
云原生之深入解析Docker容器的网络及其配置
Docker 使用 Linux 桥接,在宿主机虚拟一个 Docker 容器网桥(docker0),Docker 启动一个容器时会根据 Docker 网桥的网段分配给容器一个 IP 地址,称为 Container-IP,同时 Docker 网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的 Container-IP 直接通信。原创 2023-07-01 12:07:31 · 1523 阅读 · 0 评论 -
云原生之深入解析MySQL在K8S环境中部署与监控
MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。本文主要分析 mysql 如何部署在 k8s 上,mysql 部署在 k8s 上的优势主要有以下几点:资源隔离、动态弹性扩缩容、环境一致性、运维方便。原创 2023-07-03 10:21:28 · 1492 阅读 · 0 评论 -
云原生之深入解析Hadoop如何在K8S环境中部署
Hadoop 是 Apache 软件基金会下一个开源分布式计算平台,以 HDFS(Hadoop Distributed File System)、MapReduce(Hadoop2.0 加入了 YARN,Yarn 是资源调度框架,能够细粒度的管理和调度任务,还能够支持其他的计算框架,比如 spark)为核心的 Hadoop 为用户提供了系统底层细节透明的分布式基础架构。hdfs 的高容错性、高伸缩性、高效性等优点让用户可以将 Hadoop 部署在低廉的硬件上,形成分布式系统。原创 2023-07-03 15:38:43 · 1342 阅读 · 0 评论 -
云原生之深入解析Flink on k8s的运行模式与实战操作
Flink 核心是一个流式的数据流执行引擎,并且能够基于同一个 Flink 运行时,提供支持流处理和批处理两种类型应用。其针对数据流的分布式计算提供了数据分布,数据通信及容错机制等功能。Flink 官网不同版本的文档flink on k8s 官方文档GitHub 地址。原创 2023-07-01 15:24:34 · 2681 阅读 · 0 评论 -
云原生之深入解析Docker容器的核心Cgroups的相关概念和使用实现
Cgroups 是 Linux 系统内核提供的一种机制,这种机制可以根据需求将一些列系统任务机器子任务整合或分离到按资源划分登记的不同组内,从而为系统资源管理提供一个的框架。简单地说,Cgroups 可以限制、记录任务组所使用的物理组员(比如 CPU、Memory、IO等),为容器实现虚拟化提供了基本保证,是构建 Docker 等一些列虚拟化管理工具的基石。原创 2023-07-04 15:15:00 · 1841 阅读 · 2 评论 -
云原生之深入解析Kubernetes中如何使用临时容器进行故障排查
容器及其周围的生态系统改变了工程师部署、维护和排查工作负载故障的方式。但是,在 Kubernetes 集群上调试应用程序有时可能会很困难,因为你可能在容器中找不到所需的调试工具。许多工程师使用基于精简、发行版构建无发行版的基础镜像,其中甚至没有包管理器或shell。甚至一些团队使用 scratch 作为基础镜像,并且只添加应用程序运行所需的文件原创 2023-12-12 10:10:10 · 1435 阅读 · 1 评论 -
云原生之深入解析K8S的请求和限制
在 Kubernetes 中使用容器时,了解涉及的资源是什么以及为何需要它们很重要。有些进程比其它进程需要更多的 CPU 或内存,这很关键,永远不应该让进程饥饿,知道了这一点,那么应该正确配置容器和 Pod,以便充分利用两者。使用 Kubernetes 时,限制和请求是重要的设置。Kubernetes 将限制定义为容器可以使用的最大资源量,这意味着容器永远不会消耗超过指示的内存量或 CPU 量。另一方面,请求是为容器保留的最低保证资源量。原创 2023-07-05 22:00:00 · 2806 阅读 · 3 评论 -
云原生之深入解析如何在Kubernetes中快速启用Cgroup V2支持
Kubernetes 自 v1.25 起 cgroup2 特性正式 stable,cgroup2 相比 cgroup v1 有以下优势:API 中单个统一的层次结构设计;更安全的子树委派给容器;更新的功能特性, 例如压力阻塞信息(Pressure Stall Information,PSI);跨多个资源的增强资源分配管理和隔离;统一核算不同类型的内存分配(网络内存、内核内存等);考虑非即时资源变化,例如页面缓存回写。原创 2023-12-13 11:00:05 · 1092 阅读 · 0 评论 -
云原生之深入解析Kubernetes集群发生网络异常时如何排查
Pod 常见网络异常分类网络排查工具Pod 网络异常排查思路及流程模型CNI 网络异常排查步骤原创 2023-12-19 17:22:26 · 1325 阅读 · 0 评论 -
云原生之深入解析K8S Istio Gateway服务的架构分析与实战操作
Istio 提供一种简单的方式来为已部署的服务建立网络,该网络具有负载均衡、服务间认证、监控、网关等功能,而不需要对服务的代码做任何改动。istio 适用于容器或虚拟机环境(特别是 k8s),兼容异构架构;istio 使用 sidecar(边车模式)代理服务的网络,不需要对业务代码本身做任何的改动;HTTP、gRPC、WebSocket 和 TCP 流量的自动负载均衡;istio 通过丰富的路由规则、重试、故障转移和故障注入,可以对流量行为进行细粒度控制;支持访问控制、速率限制和配额。原创 2023-07-07 02:30:00 · 3301 阅读 · 0 评论 -
云原生之深入解析Prometheus AlertManager的实战操作
Prometheus 包含一个报警模块,就是我们的 AlertManager,Alertmanager 主要用于接收 Prometheus 发送的告警信息,它支持丰富的告警通知渠道,而且很容易做到告警信息进行去重,降噪,分组等,是一款前卫的告警通知系统。原创 2023-07-07 00:00:00 · 1614 阅读 · 3 评论