草庐IT

Kubernetes-组件

全部标签

go - go 对象组件可以以复合模式相互通信吗?

我正在尝试实现复合设计模式。我了解了如何组合对象的对象。在这个例子中,我有一个运动员和游泳功能。typeAthletestruct{namestring}typeCompositeAthletestruct{athleteAthleteTrainfunc(namestring)}但是如果我需要在创建组合对象后传递名称:comp:=CompositeAthlete{athlete:athlete,Train:Swim,}comp.Train(athlete.name)是否有可能注入(inject)一个能够读取被注入(inject)对象内部的方法;packagemainimport("fm

go - 遍历树并使用可重用组件提取信息

我在Go项目中有一棵嵌套结构树。我想遍历树并执行不同的操作,例如在树的不同级别挑选出某些结构并将它们附加到列表中,或者就地修改结构。我想使用可重用组件来执行此操作,这样我就可以专注于执行任务的实现,而不必为每个此类功能重新实现walker。到目前为止,我唯一能想到的就是这个API:typeapplyFuncfunc(*Node)funcwalker(node*Node,fapplyFunc){....for_,child:=rangenode.children(){walker(child,f)}}函数walker显然可以用来修改树,因为它传递了指向树节点的指针。我喜欢它,因为我可以单

go - 使用 Kubernetes 的 Go 客户端列出 Traefik 入口 Controller

我们有一个小的内部工具使用GoclientforKubernetes列出我们的Kubernetes服务.现在我们已经添加了Traefik以使用入口Controller将我们的服务映射到有意义的dns名称。我们看到有一个ingresslisterextension在Kubernetes的Go客户端中,可用于列出入口Controller。但是,我们无法让它发挥作用。是否有列出入口Controller的任何Go客户端代码片段? 最佳答案 到目前为止你尝试了什么?发布示例有帮助。尝试以下任意示例以帮助您入门://imports//metav

go - 为 Kubernetes go-client 使用 HTTP 代理

我正在使用go-clientforkubernetes来控制我的GKE集群上的部署,但此客户端将在代理后面运行,并且需要通过它发出所有与互联网绑定(bind)的请求。但我似乎无法找到一种方法来配置我的KubeClient以通过代理发出所有http请求。我的代码与此处的示例差别不大-https://github.com/kubernetes/client-go/blob/master/examples/out-of-cluster-client-configuration/main.go 最佳答案 当您使用配置(kubernetes.

go - 将自定义 kubernetes 调度程序部署为 pod

如何将自定义kubernetes调度程序部署为使用golang语言编写的pod? 最佳答案 我相信这是有据可查的heremy-scheduler.yaml类似这样的内容:apiVersion:v1kind:ServiceAccountmetadata:name:my-schedulernamespace:kube-system---kind:ClusterRoleBindingapiVersion:rbac.authorization.k8s.io/v1metadata:name:my-scheduler-as-kube-sched

go - 如何从我的 Controller 文件向本地 Kubernetes 部署的服务提供静态文件?

我已经定义了一个部署文件:---apiVersion:apps/v1kind:Deploymentmetadata:name:{{...}}labels:app.kubernetes.io/name:{{...}}helm.sh/chart:{{...}}app.kubernetes.io/instance:{{.Release.Name}}app.kubernetes.io/managed-by:{{.Release.Service}}spec:...我的服务实现了JWT验证,因此需要一个公钥。我能否以某种方式在部署文件中指定为我的服务提供本地生成的pubkey文件?

web - 通过 websocket 将 kubernetes 日志暴露给浏览器

我正在尝试在kubernetes中使用sidecar模式来创建日志sidecar以公开特定的容器日志。我正在使用kubernetes客户端从kubernetesapi获取日志并通过websocket发送出去。代码如下:funcserveWs(whttp.ResponseWriter,r*http.Request){w.Header().Set("Access-Control-Allow-Origin","*")conn,err:=upgrader.Upgrade(w,r,nil)iferr!=nil{if_,ok:=err.(websocket.HandshakeError);!ok{

go - 为什么kubernetes内部使用字符串指针而不是字符串?

不仅是字符串指针,还有bool指针、int指针等参见:https://github.com/kubernetes/cli-runtime/blob/5c4694c3aa38d6f710b2e3b18598f9d83f1aae3b/pkg/genericclioptions/config_flags.go#L322-L336golang似乎无法从ConstantPool之类的东西中获益。语言packagemainimport("fmt")funcStringPtr(sstring)*string{return&s}funcmain(){fmt.Println(StringPtr(""))

go - 如何构建 Kubernetes 以便将调试信息包含在可执行文件中?

在尝试调试kubelet中的panic时,我一直在尝试将delve附加到kubelet可执行文件,但没有成功:me@mycomputer:~$sudodlvattach23796couldnotattachtopid23796:couldnotopendebuginfofile和objdump--syms显示kubelet中没有调试信息:me@mycomputer:~$file_output/bin/kubelet_output/bin/kubelet:ELF64-bitLSBexecutable,x86-64,version1(SYSV),dynamicallylinked,inte

go - 无法使用默认服务帐户和谷歌云库从谷歌 Kubernetes 引擎访问谷歌云存储

我编写了一个应用程序,它具有使用golang通过GoogleKubernetesEngine上传图像的功能。其他一切正常,但当我尝试将图像写入GoogleCloudStorage时,我一直遇到问题。这是我在golang中实际使用googlestorageapi的代码:funcputImage(imageURLstring,imagemultipart.File)bool{fmt.Println("Puttingintoimagelocation:"+imageURL)contextBackground:=context.Background()storageClient,err:=st