 石墨文档Go在K8S上微服务的实践-彭友顺• 错误码管理 • 调试gRPC • 调试信息 • 错误定位 问题:每种开源组件的配置、调用方式、debug方式、记录日志方式都不一样 微服务的开发阶段 问题:gRPC未设置连接错误,阻塞模式报错不正确 Redis、MySQL连接数配置未设置?超时未设置? 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 Generate • protoc -I {error proto file} --go-errors_out={output directory} • 实现我们自定义的error类型,方便断言。 • 根据注解的code信息,在错误码中生成对应的grpc0 码力 | 41 页 | 3.20 MB | 1 年前3 石墨文档Go在K8S上微服务的实践-彭友顺• 错误码管理 • 调试gRPC • 调试信息 • 错误定位 问题:每种开源组件的配置、调用方式、debug方式、记录日志方式都不一样 微服务的开发阶段 问题:gRPC未设置连接错误,阻塞模式报错不正确 Redis、MySQL连接数配置未设置?超时未设置? 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 Generate • protoc -I {error proto file} --go-errors_out={output directory} • 实现我们自定义的error类型,方便断言。 • 根据注解的code信息,在错误码中生成对应的grpc0 码力 | 41 页 | 3.20 MB | 1 年前3
 Kubernetes开源书 -  周立91 node 172.20.0.92 node 准备⼯作 关闭selinux 所有机器都必须关闭selinux,执⾏如下命令即可。 ~]# setenforce 0 ~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux 03-使⽤Kubespray部署⽣产可⽤的Kubernetes集群(1 [calico-rr] [vault] node1 node2 node3 使⽤ansible playbook部署kubespray ~]# ansible-playbook -i inventory/mycluster/hosts.ini cluster.yml ⼤概20分钟左右,Kubernetes即可安装完毕。 验证 验证1:查看Node状态 ]# kubectl 80:32345/TCP 14s # 访问测试,如果能够正常返回NGINX⾸⻚,说明正常 ]# curl localhost:32345 卸载 ]# ansible-playbook -i inventory/mycluster/hosts.ini reset.yml 遇到的问题 Calico⽹络插件部署失效。这是Calico 3.2所带来的问题,原因详⻅:https://github0 码力 | 135 页 | 21.02 MB | 1 年前3 Kubernetes开源书 -  周立91 node 172.20.0.92 node 准备⼯作 关闭selinux 所有机器都必须关闭selinux,执⾏如下命令即可。 ~]# setenforce 0 ~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux 03-使⽤Kubespray部署⽣产可⽤的Kubernetes集群(1 [calico-rr] [vault] node1 node2 node3 使⽤ansible playbook部署kubespray ~]# ansible-playbook -i inventory/mycluster/hosts.ini cluster.yml ⼤概20分钟左右,Kubernetes即可安装完毕。 验证 验证1:查看Node状态 ]# kubectl 80:32345/TCP 14s # 访问测试,如果能够正常返回NGINX⾸⻚,说明正常 ]# curl localhost:32345 卸载 ]# ansible-playbook -i inventory/mycluster/hosts.ini reset.yml 遇到的问题 Calico⽹络插件部署失效。这是Calico 3.2所带来的问题,原因详⻅:https://github0 码力 | 135 页 | 21.02 MB | 1 年前3
 k8s操作手册 2.3gateway 10.99.1.1 # nmcli con up ens33 ③关闭seLinux 若不会配置selinux,则可关闭SELinux,若对安全性要求较高,则需自行配置 # sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/config # setenforce 0 #关闭selinux local < k8s操作手册 2.3gateway 10.99.1.1 # nmcli con up ens33 ③关闭seLinux 若不会配置selinux,则可关闭SELinux,若对安全性要求较高,则需自行配置 # sed -i '/^SELINUX/s/enforcing/disabled/' /etc/selinux/config # setenforce 0 #关闭selinux local <- I DOCKER 1 -s 0.0.0.0/0 -j ACCEPT /usr/sbin/iptables -I DOCKER-USER 1 -s 0.0.0.0/0 -j ACCEPT /usr/sbin/iptables -I DOCKER-ISOLATION-STAGE-1 1 -s 0.0.0 0.0/0 -j ACCEPT /usr/sbin/iptables -I DOCKER-ISOLATION-STAGE-2 1 -s 0.0.0.0/0 -j ACCEPT EOF ★最好的做法是让docker不生成默认的docker0网桥,不修改iptables规则 # cat > /etc/docker/daemon.json < 0 码力 | 126 页 | 4.33 MB | 1 年前3 破解 Kubernetes 应用开发困局-王炜3、PID=1 的进程替换成源码运行,如果进程停 止,容器将 Crash,怎么阻止? 解决问题: 1、从本地同步到容器 2、将业务容器的镜像替换为 Runtime 镜像 3、替换 PID=1 进程为阻塞进程: /bin/sh -c tail -f /dev/null 1 6 从 Dockerfile 说起 开发和调试演示 04 一键 Run、一键 Debug 1 8 使用0 码力 | 20 页 | 3.58 MB | 9 月前3 破解 Kubernetes 应用开发困局-王炜3、PID=1 的进程替换成源码运行,如果进程停 止,容器将 Crash,怎么阻止? 解决问题: 1、从本地同步到容器 2、将业务容器的镜像替换为 Runtime 镜像 3、替换 PID=1 进程为阻塞进程: /bin/sh -c tail -f /dev/null 1 6 从 Dockerfile 说起 开发和调试演示 04 一键 Run、一键 Debug 1 8 使用0 码力 | 20 页 | 3.58 MB | 9 月前3 Kubernetes平台比較:Red Hat
OpenShift、SUSE Rancher及
Canonical Kubernetes支援各個版本的時間總計9個月。 在前3個月期間,特定版本會獲得「完整支援」,緊急修復一旦可用就會發行提供, 其他修復則是以定期修補程式的方式提供。至於剩下的6個月,版本會獲得「維護 支援」,在此期間非緊急修復由Red Hat全權決定是否提供。 Rancher支援N-1至N-4的最新Kubernetes版本(按照Rancher管理伺服器版本,一 年兩次)。每個次要Rancher管理伺服器版本會維護15個月,之後只會提供安全性 援的執 行 階 段 選 項 廣 度 , 以 及 執 行 階 段 實 現 的 使 用 案 例 。 主 要 的 執 行 階 段 選 項 為 Containerd、Kata Containers及CRI-O。 Containerd是高階容器執行階段,可管理完整的容器生命週期,提供簡易性、強健 性及可攜性。Containerd可視為業界標準的容器執行階段,也是上游Kubernetes 的預設選項。Canonical Containers以安全性為重,將容器置於輕量級VM之中,在容器之間提供更深 度的隔離。Canonical Kubernetes及Red Hat Openshift均支援Kata Containers。 4 CRI-O是Red Hat專為Kubernetes設計的容器執行階段,可搭配使用任何其他開放 容器計畫(Open Container Initiative,OCI)相容的執行階段,因此具備相當高的彈 性。 容0 码力 | 10 页 | 1.26 MB | 1 年前3 Kubernetes平台比較:Red Hat
OpenShift、SUSE Rancher及
Canonical Kubernetes支援各個版本的時間總計9個月。 在前3個月期間,特定版本會獲得「完整支援」,緊急修復一旦可用就會發行提供, 其他修復則是以定期修補程式的方式提供。至於剩下的6個月,版本會獲得「維護 支援」,在此期間非緊急修復由Red Hat全權決定是否提供。 Rancher支援N-1至N-4的最新Kubernetes版本(按照Rancher管理伺服器版本,一 年兩次)。每個次要Rancher管理伺服器版本會維護15個月,之後只會提供安全性 援的執 行 階 段 選 項 廣 度 , 以 及 執 行 階 段 實 現 的 使 用 案 例 。 主 要 的 執 行 階 段 選 項 為 Containerd、Kata Containers及CRI-O。 Containerd是高階容器執行階段,可管理完整的容器生命週期,提供簡易性、強健 性及可攜性。Containerd可視為業界標準的容器執行階段,也是上游Kubernetes 的預設選項。Canonical Containers以安全性為重,將容器置於輕量級VM之中,在容器之間提供更深 度的隔離。Canonical Kubernetes及Red Hat Openshift均支援Kata Containers。 4 CRI-O是Red Hat專為Kubernetes設計的容器執行階段,可搭配使用任何其他開放 容器計畫(Open Container Initiative,OCI)相容的執行階段,因此具備相當高的彈 性。 容0 码力 | 10 页 | 1.26 MB | 1 年前3 运维上海2017-Kubernetes与AI相结合架构、落地解析-赵慧智在单一系统的内核层通过一套 API 在应用层提供硬件及软 件环境隔离的 Linux 环境(containers 。在内核层,通过 cgroup 来提供硬件环境的隔离(例如 CPU,Memory, Block I/O,网络等等 和通过 namespace 来提供软件层面 的隔离(例如 process tree,网络,user IDs 和挂载的文件 系统 。 Container 框架 通过在 Kernel controller 可以创建和管理多个 pod • 可以决定同时可以多少个相同的pod在同时运行 • 维护pod的状态 Kubernetes 基本概念 – Storage(volume • 达到非易失存储的方式 • 可以视作一个目录 • 将存储挂在到 Pod 及其内 部 containers 的一种方式。 快速部署一个应用 - kubectl • kubectl 是一个命令行操作 • 深度学习是指通过人工神经网络,通过对数据进行分析学习, 最终得出判断。 • 机器学习最难的地方在于特征的提取,而深度学习认为特征 提取是可以通过人工神经网络学习而得出结论的。深度学习 在非结构化数据方面有很大的优势。 卷积神经网络 - CNN 通过卷基层和池化层的网络结构进行不断的对图像的特征提取 数组运算并行化 – CUDA by Example 将数组 a 和数组 b0 码力 | 77 页 | 14.48 MB | 1 年前3 运维上海2017-Kubernetes与AI相结合架构、落地解析-赵慧智在单一系统的内核层通过一套 API 在应用层提供硬件及软 件环境隔离的 Linux 环境(containers 。在内核层,通过 cgroup 来提供硬件环境的隔离(例如 CPU,Memory, Block I/O,网络等等 和通过 namespace 来提供软件层面 的隔离(例如 process tree,网络,user IDs 和挂载的文件 系统 。 Container 框架 通过在 Kernel controller 可以创建和管理多个 pod • 可以决定同时可以多少个相同的pod在同时运行 • 维护pod的状态 Kubernetes 基本概念 – Storage(volume • 达到非易失存储的方式 • 可以视作一个目录 • 将存储挂在到 Pod 及其内 部 containers 的一种方式。 快速部署一个应用 - kubectl • kubectl 是一个命令行操作 • 深度学习是指通过人工神经网络,通过对数据进行分析学习, 最终得出判断。 • 机器学习最难的地方在于特征的提取,而深度学习认为特征 提取是可以通过人工神经网络学习而得出结论的。深度学习 在非结构化数据方面有很大的优势。 卷积神经网络 - CNN 通过卷基层和池化层的网络结构进行不断的对图像的特征提取 数组运算并行化 – CUDA by Example 将数组 a 和数组 b0 码力 | 77 页 | 14.48 MB | 1 年前3 DaoCloud Enterprise 5.0
产品介绍,助力企业构建多云、混合云 的数字基础设施。 涉及的模块:全局管理、容器管理、云原生网络、云原生存储、信创异构 中间件服务 专为有状态应用设计的云原生本地存储能力,满足中间件高 I/O 的存储需求,提升运 维管理效率。精选各类数据库、分布式消息和日志检索等中间件,提供多租户、部 署、观测、备份、运维操作等全生命周期的中 间件管理能力,实现数据服务的自助化 申请、弹性扩展、高并发处理和稳定高可用。 申请、弹性扩展、高并发处理和稳定高可用。 涉及的模块:全局管理、容器管理、云原生网络、云原生存储、精选中间件 版权 © 2023 DaoCloud 第 5 页 微服务治理 提供非侵入式流量治理功能,支持无感接入传统微服务、云原生微服务和开源微服务 框架,实现企业现有微服务体系及新旧微服务体系的融合治理,支持微服务从开发、 部署、接入、观测、运维的全生命周期管理,提供高性能云原生微服务网关,保证微 的资源监控和网关业务监控。 服务网格 服务网格是基于 Istio 开源技术构建的面向云原生应用的下一代服务网格。 服务网格是一种具备高性能、高易用性的全托管服务网格产品,通过提供完整 的非侵入式的微服务治理方案,能够统一治理多云多集群的复杂环境, 以基础 设施的方式为用户提供服务流量治理、安全性治理、服务流量监控、以及传统 微服务(SpringCloud、Dubbo)接入。 版权 ©0 码力 | 18 页 | 1.32 MB | 1 年前3 DaoCloud Enterprise 5.0
产品介绍,助力企业构建多云、混合云 的数字基础设施。 涉及的模块:全局管理、容器管理、云原生网络、云原生存储、信创异构 中间件服务 专为有状态应用设计的云原生本地存储能力,满足中间件高 I/O 的存储需求,提升运 维管理效率。精选各类数据库、分布式消息和日志检索等中间件,提供多租户、部 署、观测、备份、运维操作等全生命周期的中 间件管理能力,实现数据服务的自助化 申请、弹性扩展、高并发处理和稳定高可用。 申请、弹性扩展、高并发处理和稳定高可用。 涉及的模块:全局管理、容器管理、云原生网络、云原生存储、精选中间件 版权 © 2023 DaoCloud 第 5 页 微服务治理 提供非侵入式流量治理功能,支持无感接入传统微服务、云原生微服务和开源微服务 框架,实现企业现有微服务体系及新旧微服务体系的融合治理,支持微服务从开发、 部署、接入、观测、运维的全生命周期管理,提供高性能云原生微服务网关,保证微 的资源监控和网关业务监控。 服务网格 服务网格是基于 Istio 开源技术构建的面向云原生应用的下一代服务网格。 服务网格是一种具备高性能、高易用性的全托管服务网格产品,通过提供完整 的非侵入式的微服务治理方案,能够统一治理多云多集群的复杂环境, 以基础 设施的方式为用户提供服务流量治理、安全性治理、服务流量监控、以及传统 微服务(SpringCloud、Dubbo)接入。 版权 ©0 码力 | 18 页 | 1.32 MB | 1 年前3 第1930期:Kubernetes基础介绍Succeeded。这个状态意味着,Pod 里的所有容器都正常运行完毕,并且已经退出了。这种情况在运行一次性任务时最 为常见。 4.Failed。这个状态下,Pod 里至少有一个容器以不正常的状态(非 0 的返回码)退出。这个状态的出现,意味着你得想办 法 Debug 这个容器的应用,比如查看 Pod 的 Events 和日志。 5.Unknown。这是一个异常状态,意味着 Pod 的状态不能持续地被 Status 是 Pending,对应的 Condition 是 Unschedulable,这就意味着它的调度出现了问题。 Pod 的这些状态信息,是我们判断应用运行情况的重要标准,尤其是 Pod 进入了非“Running”状态后,你一定要能迅速 做出反应,根据它所代表的异常情况开始跟踪和定位,而不是去手忙脚乱地查阅文档。 16 www.h3c.com Confidential 秘密 16 16 K8s基本概念和术语介绍(Label) Confidential 秘密 40 40 Kubernetes常见命令介绍 Kubectl输出格式,kubectl可以用多种格式对结果进行显示,输出格式通过-o参数指定: Kubectl [command] [TYPE] [NAME] –o=0 码力 | 49 页 | 4.11 MB | 1 年前3 第1930期:Kubernetes基础介绍Succeeded。这个状态意味着,Pod 里的所有容器都正常运行完毕,并且已经退出了。这种情况在运行一次性任务时最 为常见。 4.Failed。这个状态下,Pod 里至少有一个容器以不正常的状态(非 0 的返回码)退出。这个状态的出现,意味着你得想办 法 Debug 这个容器的应用,比如查看 Pod 的 Events 和日志。 5.Unknown。这是一个异常状态,意味着 Pod 的状态不能持续地被 Status 是 Pending,对应的 Condition 是 Unschedulable,这就意味着它的调度出现了问题。 Pod 的这些状态信息,是我们判断应用运行情况的重要标准,尤其是 Pod 进入了非“Running”状态后,你一定要能迅速 做出反应,根据它所代表的异常情况开始跟踪和定位,而不是去手忙脚乱地查阅文档。 16 www.h3c.com Confidential 秘密 16 16 K8s基本概念和术语介绍(Label) Confidential 秘密 40 40 Kubernetes常见命令介绍 Kubectl输出格式,kubectl可以用多种格式对结果进行显示,输出格式通过-o参数指定: Kubectl [command] [TYPE] [NAME] –o=0 码力 | 49 页 | 4.11 MB | 1 年前3 全球架构师峰会2019北京/云原生/阿里巴巴 Kubernetes 应用管理实践中的经验与教训&mdash…… 这你恐怕得单独去RDS 界面创建… 业务方运维 K8s 团队 CRD 搞定一切! RDS SLB VPC • 对研发屏蔽 K8s API • 对运维简化 K8s API • 自由描述非 K8s 资源 每个公司/团队都有自己的应用定义 …… 思考题: • 标准吗?能复用吗? • 如何与开源生态协作? • 如何迭代、演进? Pinterest 有赞 Kubernetes 扩展Workload 可发现、可管理的运维能力:OAM Traits System 发现运维能力 查看能力用法 绑定能力给应用 提前暴露冲突 kubectl get traits crob-scaler –o yaml kubectl apply -f example.yaml 从 CRD 到 Trait CronHPA CRD CronHPA Trait apiVersion: core.oam0 码力 | 26 页 | 6.91 MB | 1 年前3 全球架构师峰会2019北京/云原生/阿里巴巴 Kubernetes 应用管理实践中的经验与教训&mdash…… 这你恐怕得单独去RDS 界面创建… 业务方运维 K8s 团队 CRD 搞定一切! RDS SLB VPC • 对研发屏蔽 K8s API • 对运维简化 K8s API • 自由描述非 K8s 资源 每个公司/团队都有自己的应用定义 …… 思考题: • 标准吗?能复用吗? • 如何与开源生态协作? • 如何迭代、演进? Pinterest 有赞 Kubernetes 扩展Workload 可发现、可管理的运维能力:OAM Traits System 发现运维能力 查看能力用法 绑定能力给应用 提前暴露冲突 kubectl get traits crob-scaler –o yaml kubectl apply -f example.yaml 从 CRD 到 Trait CronHPA CRD CronHPA Trait apiVersion: core.oam0 码力 | 26 页 | 6.91 MB | 1 年前3 第29 期| 2023 年9 月- 技术雷达及其后继方法已指引出大语言模型最令人兴奋的一些应用领域。 10. 检索增强生成 试验 检索增强生成(RAG) 是一种结合预训练参数和非参数记忆的文本生成技术。它使你能够通过你的领域内特有 的包含上下文的知识,来强化预训练模型中的现有知识。使用 RAG,你会先从非参数记忆中去检索相关文档集 (一般是通过在向量数据库中的相似性搜索),再使用 LLM 中的参数记忆生成与检索出的文档一致的输出。我们0 码力 | 43 页 | 2.76 MB | 1 年前3 第29 期| 2023 年9 月- 技术雷达及其后继方法已指引出大语言模型最令人兴奋的一些应用领域。 10. 检索增强生成 试验 检索增强生成(RAG) 是一种结合预训练参数和非参数记忆的文本生成技术。它使你能够通过你的领域内特有 的包含上下文的知识,来强化预训练模型中的现有知识。使用 RAG,你会先从非参数记忆中去检索相关文档集 (一般是通过在向量数据库中的相似性搜索),再使用 LLM 中的参数记忆生成与检索出的文档一致的输出。我们0 码力 | 43 页 | 2.76 MB | 1 年前3
共 43 条
- 1
- 2
- 3
- 4
- 5














 
 