小编Agu*_*ama的帖子

是否可以在 k8s Ingress Controller 中重写 HOST 标头?

由于某些依赖 Host 标头才能正常运行的遗留应用程序,我需要一个能够重写 Host 标头并将其传递给下游(后端)的 Ingress(代理等)。是否有支持此功能的入口控制器?

例子:

最终用户通过foo.com/afor backendafoo.com/bfor backend访问我们的网站b。但由于ab是遗留应用程序,它只接受:

  • a 接受连接时 Host: a.foo.com
  • b 接受连接时 Host: b.foo.com

nginx haproxy kubernetes envoyproxy

12
推荐指数
2
解决办法
1万
查看次数

如何删除.jar文件中的类文件并使用我自己的实现进行更改

所以,我有第三方库,这是一个.jar文件.那个罐子里有一些类.问题是,.jar中的一个类中有一个错误.我知道这是因为我可以反编译jar文件,查看java代码,我很确定,该类是我的程序错误的来源.

我的想法是,删除该类并将其替换为我自己的类,但我不知道如何.

java android decompiling jar

11
推荐指数
2
解决办法
3万
查看次数

为什么掌舵升级 - 以前安装失败时安装失败?

这是掌舵和分蘖版本:

> helm version --tiller-namespace data-devops
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Run Code Online (Sandbox Code Playgroud)

以前的helm安装失败:

helm ls --tiller-namespace data-devops
NAME            REVISION        UPDATED                         STATUS  CHART                   NAMESPACE
java-maven-app  1               Thu Aug  9 13:51:44 2018        FAILED  java-maven-app-1.0.0    data-devops
Run Code Online (Sandbox Code Playgroud)

当我尝试使用此命令再次安装它时,它失败了:

helm --tiller-namespace data-devops upgrade java-maven-app helm-chart --install \
        --namespace data-devops \
        --values helm-chart/values/stg-stable.yaml
Error: UPGRADE FAILED: "java-maven-app" has no deployed releases
Run Code Online (Sandbox Code Playgroud)

helm upgrade --install如果先前的安装失败,命令是否会失败?我期待它强行安装.任何的想法?

kubernetes kubernetes-helm

11
推荐指数
3
解决办法
7518
查看次数

如何在 helm 模板中包含嵌套值

我在掌舵中有这种模板文件:

api 版本:networking.istio.io/v1alpha3

kind: VirtualService
metadata:
  name: {{.Values.app.name}}-global-route
  namespace: {{.Release.Namespace}}
spec:
  hosts:
  - "{{.Values.app.name}}-global.{{.Release.Namespace}}.svc.cluster.local"
  gateways:
  - {{.Values.app.name}}-gateway
  - mesh
  http:
  # 1st priority, to route specific end-user to canary service
  - route:
    - destination:
        host: "{{.Values.app.name}}-global.{{.Release.Namespace}}.svc.cluster.local"
        subset: canary
    match: {{.Values.infra.trafficRoute.canaryCondition}}
Run Code Online (Sandbox Code Playgroud)

我想公开 values.yaml 如下:

# default values supplied for templates/* files
app:
  name: java-maven-app

infra:
  trafficRoute:
    canaryCondition:
    - headers:
        end-user:
          exact: apratama
        key:
          exact: agung
Run Code Online (Sandbox Code Playgroud)

所以,基本上我想要实现的是让最终用户(使用我的掌舵图的人)自定义金丝雀条件。条件本身取决于 istio 的match数据结构(可以是嵌套的和复杂的值)。我用helm upgrade --install命令在上面尝试过,但不知何故我得到了这个错误:

Error: UPGRADE FAILED: YAML parse error on …
Run Code Online (Sandbox Code Playgroud)

kubernetes-helm

10
推荐指数
2
解决办法
1万
查看次数

findAndModify是否有效锁定文档以防止读取冲突?

假设有如下文档的结构:
{_id:"session-01", status:"free"}

并且有两个并发操作执行以下findAndModify操作: db.collection.findAndModify({query:{status:"free"}, update:{status:"occupied"}, new:true})

我想要实现的只有一个操作可以获得"空闲"操作,并对其执行锁定,因此其他操作必须为空.那是findAndModify的作用吗?

mongodb mongodb-query findandmodify

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

为什么“ {{.Release.namespace}}”为空?

我知道这{{.Release.namespace}}将呈现所安装的应用程序的名称空间helm。在这种情况下,helm template命令会将其呈现为空字符串(因为它尚不知道发布名称空间)。

但是,令我感到惊讶的是helm upgrade --install命令(我还没有尝试过其他命令,例如helm install)在某些情况下也使它为空。

这是我的舵图模板的示例:

apiVersion: v1
kind: Service
metadata:
  name: {{.Values.app.name}}-{{.Values.app.track}}-internal
  namespace: {{.Release.namespace}}
  annotations:
    testAnnotate: "{{.Release.namespace}}"
spec:
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  selector:
    app: {{.Values.app.name}}
    environment: {{.Values.app.env}}
    track: {{.Values.app.track}}
  type: ClusterIP
Run Code Online (Sandbox Code Playgroud)

在调用helm upgrade --install该图表模板(并成功安装)之后,然后尝试查看资源的输出

> kubectl get -o yaml svc java-maven-app-stable-internal -n data-devops
apiVersion: v1
kind: Service
metadata:
  annotations:
    testAnnotate: ""
  creationTimestamp: 2018-08-09T06:56:41Z
  name: java-maven-app-stable-internal
  namespace: data-devops
  resourceVersion: "62906341"
  selfLink: /api/v1/namespaces/data-devops/services/java-maven-app-stable-internal
  uid: …
Run Code Online (Sandbox Code Playgroud)

kubernetes-helm

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

OpenFire或XMPP协议是否支持BBM(Blackberry Messenger)等消息通知(待处理,已发送,已读取)

我是初学者,需要帮助.

我目前正参与一个项目,需要构建一个聊天应用程序(服务器端和客户端).经过进一步探索,最终我对XMPP感兴趣.

对于XMPP Server,我一直对支持XMPP协议的Openfire感兴趣.仍未解决的问题是Openfire是否可以扩展到消息通知的需求,这是Blackberry Messenger的一项功能,可以确定消息是PENDING,DELIVERED还是已被客户端(用户)读取.

谁能帮我?

chat xmpp openfire

7
推荐指数
1
解决办法
5335
查看次数

为什么具有"用户"范围级别的自定义维度未显示在我的报告中?

此问题与我之前的问题有关: Google Analytics中的点击,会话和用户级别有什么区别?

因此,我尝试将自定义维度设置为用户级别范围,但数据仍显示0视图.由于报告不是实时的,我等了2天,但数据仍然为0.但是当我将其更改为会话级别范围时,第二天,数据开始显示.

我要跟踪的用例必须设置为用户级别范围,但我不知道出了什么问题.我想念的东西?

android google-analytics ios

7
推荐指数
1
解决办法
465
查看次数

如何计算2D中点序列形成的多边形数量?

正如您可以看到下面的示例图片,我的问题是如何确定由一系列点形成的多边形.

  1. 在左图中,点的系列是{A,B,C,D,E,A},因此它只形成1个多边形{A,B,C,D,E}.

  2. 在图片的右侧,一系列点是{A,B,C,D,E,F,A}.它创建了2个多边形{A,F,G }和{B,C,D,E,G },其中G是来自线AB和FE的交点.

我不仅对多边形的数量感兴趣,而且我还想知道从它创建的多边形信息(多边形的一系列点).

该算法将在移动设备中实时使用,因此必须足够快才能进行计算.哦,一系列点将由用户的拖动触摸点生成.

假设:

  1. 仅由2个共线点组成
  2. 它并不总是闭链多边形.例如,从右边的图片中,一系列点是{A,B,C,D,E,F},没有边缘FA.

我一直在考虑解决方案,并且为了查看交叉点,我坚持使用O(N ^ 2)解,N =边数.我可以做的优化是在一些区域内维护线组,所以我只是最小化可以相互计算的总线数.

至于提取形成多边形的解决方案,我仍然卡住了.

插图

algorithm graph-algorithm

7
推荐指数
1
解决办法
1057
查看次数

是否可以将dynamoDb权限范围设置为仅具有某些前缀的表?

假设我正在使用共享的AWS帐户。我想用前缀“ x-team”设置表,例如:

  • x-team_customer_order
  • x-team_customer

另一个团队还拥有其他具有不同前缀命名方案的表。为了限制我们的应用范围,我们想要设置每个团队使用的不同凭据。

在本文档中http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ddb-api-permissions-ref.html,他们使用通配符*,但是没有说明可以对表的前缀名称方案使用通配符。

amazon-dynamodb amazon-iam

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