草庐IT

application-client

全部标签

http - 使用 http.Client.Get 方法和 Body.Read() 方法处理时导致终止的 EOF 错误

我正在使用http客户端获取json主体,并将其读取为字节数组,如client:=new(http.Client)client.Timeout=time.Second*10GetJobJson,err:=client.Get(joblocation.String())//wherejoblocationisoftype*url.Urliferr!=nil{errorlog.Err.Println("Errorgettingjobfrom",joblocation.String(),err)returnfalse,http.StatusBadRequest,nil}buff:=make(

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 - 使用 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

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.)我想看看是不是网络限制。还有什么

戈朗 : Access a Windows share (from Linux application)

是否有正确的方法从在Linux设备上编译和运行的Go应用程序连接到Windows共享,例如\windowspc\c$\myshare?共享将需要凭据才能将文件保存到目标UNC路径。是否有实现此目的的最佳实践? 最佳答案 理论上是,实际上不是。Windows共享使用SMB/CIFS系列协议(protocol)。这些可以在Go中实现并用于访问共享。不过,这是一项艰巨的任务。与其在您的应用程序中使用它,最好的方法是要求从您的系统安装共享,然后像从应用程序访问本地文件系统一样访问它。如果您真的想使用SMB/CIFS,您可以从Go中检查Gno

web-applications - 将常量文件加载到应用程序-Golang

我的主pkg中有一个常量文件:packagemainconst(FIRST_NAME="FIRST_NAME"LAST_NAME="LAST_NAME")我希望能够说出类似first_name:=constants.FIRSTNAME知道如何告诉我的应用程序“嘿,加载我的常量文件并让我使用常量访问它。”? 最佳答案 如果你真的想让它们成为常量,你可以把它做成一个单独的包,叫做“constants”。或者,由于您的常量不是真正的常量(您使用的是var,而不是const),您可以创建一个constants结构与你想要的值(value)。