- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试让这个 go-micro greeter 示例在 Kubernetes 上运行 https://github.com/micro/examples/tree/master/greeter
我可以在 docker 中本地运行它。但是,当我尝试通过 Kubernetes (http://{{external-ip}}/greeter/say/hello) 访问 greeter api 服务时,出现错误:{"id":"go.micro.api", "code":500,"detail":"not found","status":"内部服务器错误"
为了进行故障排除,我简化了场景,我只是希望能够通过 micro api 调用 go-micro api 服务。以下是我的设置:
API.go
package main
import (
"github.com/micro/go-micro"
api "github.com/micro/micro/api/proto"
"log"
k8s "github.com/micro/kubernetes/go/micro"
"context"
)
type Say struct {
}
//I just want to access this via the micro api on k8s via services external ip
func (s *Say) Hello(ctx context.Context, req *api.Request, rsp *api.Response) error {
rsp.StatusCode = 200
rsp.Body = "Hello"
return nil
}
func main() {
service := k8s.NewService(
micro.Name("default.greeter-api"),
)
service.Init()
service.Server().Handle(
service.Server().NewHandler(
&Say{},
),
)
if err := service.Run(); err != nil {
log.Fatal(err)
}
}
微API部署.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: micro
spec:
replicas: 1
selector:
matchLabels:
app: micro
template:
metadata:
labels:
app: micro
spec:
containers:
- name: micro
image: microhq/micro:kubernetes
args:
- "api"
- "--handler=rpc"
- "--namespace=default"
env:
- name: MICRO_API_ADDRESS
value: ":80"
ports:
- containerPort: 80
name: api-port
微API-svc.yml
apiVersion: v1
kind: Service
metadata:
name: micro
spec:
type: LoadBalancer
ports:
- name: api-http
port: 80
targetPort: "api-port"
protocol: TCP
selector:
app: micro
欢迎部署.yml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: greeter-api
spec:
replicas: 1
selector:
matchLabels:
app: greeter-api
template:
metadata:
labels:
app: greeter-api
spec:
containers:
- name: greeter-api-service
image: greeter-api:latest
imagePullPolicy: Always
command: [
"./greet",
"--selector=static",
"--server_address=:8080",
]
ports:
- containerPort: 8080
name: greet-port
问候-svc.yml
apiVersion: v1
kind: Service
metadata:
name: greet
labels:
app: greet
spec:
ports:
- port: 8080
protocol: TCP
selector:
app: greet
最佳答案
您的配置一切正常。
http://{{external-ip}}/greeter/say/hello), I get the error: {"id":"go.micro.api","code":500,"detail":"not found","status":"Internal Server Error"}
您在请求中只错过了端口号 8080,并尝试调用 rpc 服务而不是 greeter-api
。
关于go-micro kubernetes greeter 示例 - 无法访问 greeter api 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49936464/
我正在尝试让这个 go-micro greeter 示例在 Kubernetes 上运行 https://github.com/micro/examples/tree/master/greeter 我
这是我如何启动它 eth --private 9195333 --genesis-json ~/test/genesis.json --db-path ~/.ethereum_experiment -
'greeter' 是 WildFly 8 中的一个快速入门项目,用于作为教程演示基本的 Hibernate 数据库和 JPA 功能。在项目中,我不明白H2数据库中何时以及如何创建“USERS”数据库
通过 Bazel 编译 Java 项目时出现以下异常。 BUILD:10:1: //:greeter: no such attribute 'src' in 'java_library' rule 构
今天,我想开始为用Python编写的程序实现gRPC客户端和服务器。我已按照此处找到的教程进行操作:https://grpc.io/docs/languages/python/quickstart/。
我是一名优秀的程序员,十分优秀!