草庐IT

g_client_conn

全部标签

go - 当使用 k8s.io/client-go 库更改 kubernetes 部署时,获得通知的最佳方式是什么?

上下文我正在编写一个使用k8s.io/client-go的脚本库(godocshere)来操作部署。特别是,我想为集群中的每个Deployment添加一个标签选择器。部署标签选择器是immutable.所以我的方法是:为每个Deployment创建一个副本,唯一的区别是名称以“-temp”为后缀。这是为了最大限度地减少现有部署的停机时间。删除原来的部署。重新创建原始Deployment,唯一的区别是多了一个标签选择器。删除临时部署。我不能只使用client-go库按顺序执行步骤1-4,因为我只想在API服务器认为上一步已完成时继续下一步。例如,在API服务器说原始Deployments

go - kubernetes/client-go 未定义 : v1. FinalizerOrphan

我得到了k8s.io/client-go/1.5/...尝试运行时出错:>#k8s.io/client-go/pkg/api/v1>../k8s.io/client-go/pkg/api/v1/helpers.go:86:undefined:v1.FinalizerOrphan请问要怎么处理?../k8s.io/client-go/pkg/api/v1/helpers.go:86:varstandardFinalizers=sets.NewString(string(FinalizerKubernetes),metav1.FinalizerOrphan,)

go - 如何在不发送/接收数据的情况下检查 Conn 是否处于事件状态?

在Go/Golang中,使用以下代码创建连接对象(Conn)后:conn,err:=net.Dial("tcp","33.33.33.33:444")iferr!=nil{//goodconnection}我想保留conn值,以便稍后验证连接是否处于事件状态。我不想不时重新连接以检查连接,因为它会导致操作系统出现各种TIME_WAIT,因此总体而言,我的要求是:建立联系保留连接对象如果连接因任何原因断开则捕获不发送或接收任何数据关于如何实现这一点有什么想法吗?有没有办法在不发送或接收数据或重新连接的情况下捕获连接中断? 最佳答案 我

go - 使用 go-client 在 Istio-resource 上设置 ObjectMeta

我正在尝试使用Go中的Istio,并且正在使用Kubernetes和Istiogo-client代码。我遇到的问题是我无法在Istio-ServiceRole对象中指定ObjectMeta或TypeMeta。我只能指定rules,它们在spec中。下面你可以看到我的工作:import(v1alpha1"istio.io/api/rbac/v1alpha1")funcgetDefaultServiceRole(appnais.Application)*v1alpha1.ServiceRole{return&v1alpha1.ServiceRole{Rules:[]*v1alpha1.Ac

go - 获取响应行错误 - Redigo Redis Client

我正在使用JSON序列化结构创建字符串,并在redis连接上运行PUBLISH命令。_,err:=r.Do("PUBLISH",key,ncs)此go服务用于处理/重新调整在我们的聊天应用程序上发送的所有消息,然后将事件发布回客户端。在执行PUBLISH命令后,redis连接经常会出现错误,这是以下情况之一:redigo:错误的响应行终止符redigo:意外的响应行无法理解这些并且错误不断出现,这些响应是什么意思?&&为什么它们会发生在我身上? 最佳答案 应用程序正在并发访问连接。允许的并发为discussedinthedocume

go - 如何在 prometheus/client_golang 中禁用 go_collector 指标

我正在使用NewGaugeVec来报告我的指标:elapsed:=prometheus.NewGaugeVec(prometheus.GaugeOpts{Name:"gogrinder_elapsed_ms",Help:"Currenttimeelapsedofgogrinderteststep",},[]string{"teststep","user","iteration","timestamp"})prometheus.MustRegister(elapsed)一切正常,但我注意到我的自定义导出器包含来自prometheus/go_collector.go的所有指标:#HELPg

networking - 使用 bufio.NewReader(conn) 阅读整条消息

我正在使用golang开发一个简单的聊天服务器和客户端。我在读取来自net.Conn的消息时遇到了一些问题。到目前为止,这就是我一直在做的:bufio.NewReader(conn).ReadString('\n')由于用户按回车键发送消息,我只需要读到'\n'。但我现在正在研究加密,当在客户端和服务器之间发送公钥时,key有时包含“\n”,这使得很难获得整个key。我只是想知道如何阅读整条消息而不是停在特定字符处。谢谢! 最佳答案 发送二进制数据的一个简单选项是使用长度前缀。将数据大小编码为32位大端整数,然后读取该数据量。//c

sockets - 将 net.Conn.Read 用于持久 TCP 套接字的正确方法是什么

我的Go服务器上有一个有效的TCP套接字设置。我接受传入连接,运行for循环并使用net.Conn.Read函数读取传入数据。但这对我来说没有意义。它如何知道已收到完整消息以便继续返回消息大小?这是我目前的代码:func(tcpSocket*TCPServer)HandleConnection(connnet.Conn){println("Handlingconnection!",conn.RemoteAddr().String(),"connected!")recieveBuffer:=make([]byte,50)//largestmessageweevergetis50bytes

google-app-engine - 如何使用 go http.Client(和应用程序引擎 urlfetch)仅下载大文件的开头

我试图在go中使用http.Client下载大文件的前1kb,但似乎response.Body总是完全缓冲。是否可以控制缓冲量?如果是这样,如何将其与AppEngineurlfetch服务一起使用?以下在python中与应用程序引擎urlfetch一起工作正常,我正在尝试将其移植到:fromurllib2importurlopenreq=Request(url)urlopen(req).read(1024)#Readthefirst1kb. 最佳答案 将“Range”请求header属性设置为“bytes=0-1023”应该有效。p

go - Aerospike Go Client : No available connections to the node. 连接池为空,限制连接数

我有8个节点的Aerospike集群。我的AerospikeGo客户端(18个服务器)每秒发送x(每秒约8k)个批量请求,批量大小约为8-12。我的集群和每个节点上的总TPS是多少?我在Go客户端中经常出错:commandexecutiontimedout:Exceedednumberofretries.SeePolicy.MaxRetries.(lasterror:Noavailableconnectionstothenode.ConnectionPoolwasempty,andlimitedtocertainnumberofconnections.)我想看看是不是网络限制。还有什么