kubernetes client-go client go

利用 Rainbond 云原生平台简化 Kubernetes 业务问题排查

Kubernetes 已经成为了云原生时代基础设施的事实标准,越来越多的应用系统在 Kubernetes 环境中运行。Kubernetes 已经依靠其强大的自动化运维能力解决了业务系统的大多数运行维护问题,然而还是要有一些状况是需要运维人员去手动处理的。那么和传统运维相比,面向 Kubernetes ......
Kubernetes Rainbond 业务 问题 平台

Kubernetes 的亲和性污点与容忍

写在前面 我们在使用k8s过程中经常有这样的需求:我的k8s集群有多台服务器,配置不尽相同。我想把数据库部署到CPU、内存比较好的这几台机;我想把静态承载服务部署到有固态硬盘的机器等;而这些需求,就是我们今天要讲的k8s的调度: 在Kubernetes 中,调度 是指将 Pod 部署到合适的节点(n ......
亲和性 污点 Kubernetes

Go语言 :使用简单的 for 迭代语句进行 TDD 驱动测试开发与 benchmark 基准测试

前提准备与运行环境请参考:(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 在 Go 中 for 用来循环和迭代, Go 语言没有 while,do,until 这几个关键字,我们只能使用 for。这也算是件好事! 让我们来为一个重复字符 ......
基准 语句 benchmark 语言 for

深入理解Go语言中的sync.Cond

1. 简介 本文将介绍 Go 语言中的 sync.Cond 并发原语,包括 sync.Cond的基本使用方法、实现原理、使用注意事项以及常见的使用使用场景。能够更好地理解和应用 Cond 来实现 goroutine 之间的同步。 2. 基本使用 2.1 定义 sync.Cond是Go语言标准库中的一 ......
语言 sync Cond

基于Kubernetes(k8s)部署Dubbo+Nacos服务

一、说明 本文介绍基于 Kubernetes(k8s) 环境集成阿里云 私有镜像仓库 来部署一套 Dubbo + Nacos 的微服务系统,并使用 Kubernetes DNS 以及 port-forward 的方式来打通网络访问。 k8s环境搭建参考文章《基于minikube快速搭建kuberne ......
Kubernetes Dubbo Nacos k8s 8s

一文吃透 Go 内置 RPC 原理

hello 大家好呀,我是小楼,这是系列文《Go底层原理剖析》的第三篇,依旧分析 Http 模块。我们今天来看 Go内置的 RPC。说起 RPC 大家想到的一般是框架,Go 作为编程语言竟然还内置了 RPC,着实让我有些吃鲸。 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这 ......
原理 RPC Go

看看CabloyJS是如何异步加载并执行go wasm模块的

CabloyJS提供了一个内置模块a-wasmgo,将go wasm模块的异步加载运行机制进行了封装,使我们可以非常方便的在CabloyJS项目中引入go wasm,从而支持更多的业务场景开发 ......
模块 CabloyJS wasm

kubernetes集成GPU原理

这里以Nvidia GPU设备如何在Kubernetes中管理调度为例研究, 工作流程分为以下两个方面: 如何在容器中使用GPU Kubernetes 如何调度GPU 容器中使用GPU 想要在容器中的应用可以操作GPU, 需要实两个目标: 容器中可以查看GPU设备 容器中运行的应用,可以通过Nvid ......
kubernetes 原理 GPU

【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群

🎈 项目效果 由于 ChatGPT 目前只能在漂亮国使用,所以想要在国内使用 ChatGPT 必然险阻重重 不仅时时刻刻要跟企鹅公司斗智斗勇,还要时时刻刻都要跟 openai 公司打游击,真的是很难有一个稳定的版本供大家屡试不爽 在不断的游击战中,我们也是越战越勇,在磨练中,技术越来越完善,体验也 ......
机器人 go-cqhttp 机器 ChatGPT cqhttp

最近写了一个demo,想看看java和go语言是怎么写的

最近写了一个demo:demo的github地址 一. 简单介绍 1. Server端 它是一个WebApi服务,把它当成一个黑盒就行了。 2. MiddleServer端 是重点,它是一个WebApi服务,包含一个GetValues接口和一个Query2接口。 Query2接口是一个简单的接口。 ......
语言 demo java

【基数排序算法详解】Java/Go/Python/JS/C不同语言实现

说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulation ......
基数 算法 语言 Python Java

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现 说明 选择排序(Selection Sort)是一种简单直观的排序算法。跟冒泡、插入排序一样,它将数列分为已排序和待排序两个区间。首先在待排序序列中找到最小(或最大)的元素,追加到已排序序列中,然后继续从待排序序列中寻找最小( ......
算法 语言 Python Java Go

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现 简介 桥接模式(Bridge Pattern)是一种结构型设计模式,它将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,来实现二者的解耦。参与桥接的接口是稳定的,用户可以扩展和修改桥接中的类,但是不能改变接口。 ......
设计模式 语言 模式 Python Java

【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现

简介 建造者模式(Builder Pattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。 当你希望使用代码创建不同形式的产品 (例如各种商品和订单) 时, 一些基本部件不会变,而其组合经常变化的时候,就 ......
设计模式 语言 模式 Python Java

Go内存管理逃逸分析

1. 前言 所谓的逃逸分析(Escape analysis)是指由编译器决定内存分配的位置吗不需要程序员指定。 函数中申请一个新的对象 如果分配在栈中, 则函数执行结束后可自动将内存回收 如果分配在堆中, 则函数执行借宿可交给GC(垃圾回收)处理 有了逃逸分析,返回函数局部变量将变得可能,除此之外, ......
内存

Go构建遇到cgo动态库时解决方案

1. 问题 golang构建程序很简单,当遇到需要调用c库时,如通常使用 net,kafka, sqlite3 程序运行时就会调用当前服务器的 动态库,如果遇到没有库时,通常还需要 下载比如 alpine需要安装sqlite apk add --no-cache sqlite-libs sqlite ......
解决方案 方案 动态 cgo

Kubecost - Kubernetes 开支监控和管理

👉️URL: https://www.kubecost.com/ 📝Description: Kubeccost 为使用 Kubernetes 的团队提供实时成本可视化和洞察,帮助您持续降低云成本。 昨天浏览 Kubectl 插件的时候发现了 Kubecost,一看惊为天人啊,这个功能对于运营团 ......
Kubernetes Kubecost

AI来实现代码转换!Python转Java,Java转Go不在话下?

今天看到个有趣的网站,给大家分享一下。 该网站的功能很神奇,可以实现编程语言的转化。感觉在一些场景之下还是有点作用的,比如你原来跟我一样是做Java的,因为工作需要突然转Go。这个时候用你Java的经验 + 这个工具,或许可以起到一定的帮助作用。 工具的使用也很简单,只需要在左侧黏贴你想转换的原始代 ......
不在话下 Java 代码 Python

【故障公告】Kubernetes 集群节点宕机造成博客站点故障(被3.5万QPS压垮)

非常抱歉!今天 18:40-18:55 左右 Kubernetes 集群一台高配节点突然宕机,造成博客站点故障,访问时出现 502 Bad Gateway,由此给您带来麻烦,请您谅解。 发现故障并定位问题后,我们增加了新节点服务器并重启宕机节点服务器,之后恢复正常。 19:17 左右又出现故障,疑似 ......
故障 节点 集群 Kubernetes 站点

使用go的并发性来解决Hilbert酒店问题

译自:Designing for Concurrency: the Hilbert’s Hotel Problem in Go,本文使用go的并发性来解决Hilbert酒店问题。本文比较有意思的是它对问题的描述很吸引人,在看完文字描述之后,代码实现逻辑也基本顺理成章,当然代码本身的实现也相当优雅。 ......
Hilbert 酒店 问题

为什么 Go 语言 struct 要使用 tags

原文链接:为什么 Go 语言 struct 要使用 tags 在 Go 语言中,struct 是一种常见的数据类型,它可以用来表示复杂的数据结构。在 struct 中,我们可以定义多个字段,每个字段可以有不同的类型和名称。 除了这些基本信息之外,Go 还提供了 struct tags,它可以用来指定 ......
语言 struct tags Go

Rpc-实现Client对ZooKeeper的服务监听

1、前言 在上一篇文章中,完成了ZooKeeper注册中心,添加了一个简单的本地缓存 但是,存在一些问题: 当本地缓存OK,ZooKeeper对应服务有新的实例时,本地缓存不会自动更新 当ZooKeeper对应服务实例关闭,本地缓存不会监控到实例消失 2、编写 之前我们是将缓存直接放在ZooKeep ......
ZooKeeper Client Rpc

基于minikube快速搭建kubernetes单节点环境

一、说明 本文主要介绍在 Centos7 环境下基于 Minikube 来快速部署 Kubernetes 单节点集群环境,并在浏览器上访问部署在 k8s 上的 dashboard 服务。 二、Minikube 介绍 Minikube 是一个基于go语言开发,易于在本地运行 Kubernetes 的工 ......
节点 kubernetes minikube 环境

kubernetes之Ingress发布Dashboard(二)

1.什么是Dashboard Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者 ......
kubernetes Dashboard Ingress

利用kubeadm部署Kubernetes v1.22.10高可用集群

一、概述 Kubernetes集群控制平面(Master)节点右数据库服务(Etcd)+其它服务组件(Apiserver、Controller-manager、Scheduler等)组成;整个集群系统运行的交互数据都将存储到数据库服务(Etcd)中,所以Kubernetes集群的高可用性取决于数据库 ......
集群 Kubernetes kubeadm 22.10 22

kubernetes client-go功能介绍

原文地址 https://haiyux.cc/2023/02/26/k8s-client-go/ client-go是什么? client-go是Kubernetes官方提供的Go语言客户端库,用于与Kubernetes API服务器交互。使用client-go,您可以编写Go语言程序来创建、修改和 ......
kubernetes client-go 功能 client go

IoT 边缘集群基于 Kubernetes Events 的告警通知实现

背景 边缘集群(基于 树莓派 + K3S) 需要实现基本的告警功能。 边缘集群限制 CPU/内存/存储 资源紧张,无法支撑至少需要 2GB 以上内存和大量存储的基于 Prometheus 的完整监控体系方案(即使是基于 Prometheus Agent, 也无法支撑) (需要避免额外的存储和计算资源 ......
集群 Kubernetes 边缘 Events IoT

IoT 边缘集群基于 Kubernetes Events 的告警通知实现(二):进一步配置

上一篇文章 IoT 边缘集群基于 Kubernetes Events 的告警通知实现 目标 告警恢复通知 - 经过评估无法实现 原因: 告警和恢复是单独完全不相关的事件, 告警是 Warning 级别, 恢复是 Normal 级别, 要开启恢复, 就会导致所有 Normal Events 都会被发送 ......
集群 Kubernetes 边缘 Events IoT

使用Kubernetes中的Nginx来改善第三方服务的可靠性和延迟

使用Kubernetes中的Nginx来改善第三方服务的可靠性和延迟 译自:How we improved third-party availability and latency with Nginx in Kubernetes 本文讨论了如何在Kubernetes中通过配置Nginx缓存来提升第 ......
可靠性 第三方 Kubernetes Nginx

go语言面试

go面试 基础 = 和 := 的区别? **Go语言中,= 操作符用于赋值,而 := 操作符可以用于声明及赋值。 Go 语言支持短变量声明(针对局部变量),以 := 为标志,这里要注意的是,Go 语言中会优先选择 :=,而不是 =,但在赋值的情况下,两者的效果是相同的。 ** Go语言中, = 和  ......
语言