小编A. *_*son的帖子

Google gRPC Gateway:覆盖响应字段?

我目前正致力于创建一个使用gRPC网关/ HTTP反向代理的gRPC服务,以提供HTTP支持.我想遵循Google API设计的通用惯例.

我在Google API设计指南中找到的示例使用google.protobuf.Empty消息来表示删除方法/ RPC的响应.这很好,但是当我使用来自grpc-gateway的protoc- gen-swagger从文件生成.swagger.json文件时,消息的描述将被作为响应对象的描述拉入.这与我的API用户无关,可能会让人感到困惑,因为使用HTTP网关的人不使用protobufs..protogoogle.protobuf.Empty

...
"paths": {
  "/v1/{name}": {
    "delete": {
      "summary": "Deletes a book.",
      "operationId": "DeleteBook",
      "responses": {
        "200": {
          "description": "",
          "schema": {
            "$ref": "#/definitions/protobufEmpty"
          }
        }
      },
      ...
    }
  }
},
"definitions": {
  "protobufEmpty": {
    "type": "object",
    "description": "service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
    "title": "A generic empty message that you can re-use to …
Run Code Online (Sandbox Code Playgroud)

google-api protocol-buffers swagger grpc grpc-gateway

8
推荐指数
1
解决办法
357
查看次数

Kubernetes - 如何编辑 CoreDNS 核心文件配置映射?

我有一个非常标准的 Kubernetes 安装,在 Ubuntu 上作为单节点集群运行。我正在尝试配置 CoreDNS 以解析我的 Kubernetes 集群中的所有内部服务和一些外部域名。到目前为止,我只是在试验。我首先创建了一个 busybox pod,如下所示:https : //kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/

在我对核心文件进行更改之前,一切都按照指南中的描述工作。我看到几个问题:

  1. 我编辑了默认的核心文件kubectl -n kube-system edit configmap coredns并替换.:53cluster.local:53. 等待之后,事情看起来很有希望。 google.com决议开始失败,而kubernetes.default.svc.cluster.local继续成功。然而,kubernetes.default决议也开始失败。这是为什么?在busybody pod 中仍然有一个搜索条目。所有改变的是核心文件。svc.cluster.local/etc/resolv.conf
  2. 我尝试向核心文件添加额外的节/块(同样,通过编辑配置映射)。我添加了一个简单的块:

    .:53{
        log
    }
    
    Run Code Online (Sandbox Code Playgroud)

    似乎核心文件无法编译或什么的。Pod 看起来很健康,不会向日志报告任何错误,但请求都挂起并失败。

我曾尝试添加日志插件,但这不起作用,因为该插件仅适用于与插件匹配的域,并且域名不匹配或核心文件已损坏。

为了透明,这是我的新核心文件:

cluster.local:53 {
    errors
    log
    health
    kubernetes cluster.local in-addr.arpa ip6.arpa {
       pods insecure
       upstream
       fallthrough in-addr.arpa ip6.arpa
    }
    prometheus :9153
    forward . /etc/resolv.conf
    cache 30
    loop
    reload
    loadbalance
}
Run Code Online (Sandbox Code Playgroud)

dns kubernetes kube-dns coredns

5
推荐指数
1
解决办法
7891
查看次数