我正在尝试使用进程混合器适配器构建一个istio。
几次尝试后一切正常,我现在希望能够使用“基于会话的”适配器模型配置我的适配器。
如果我正确理解了这个概念,则只需要:
syntax = "proto3";
package config;
import "gogoproto/gogo.proto";
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = false;
option (gogoproto.gostring_all) = false;
message Params {
string value1 = 1;
string value2 = 2;
}
apiVersion: "config.istio.io/v1alpha2"
kind: adapter
metadata:
name: exampleadapter
namespace: istio-system
spec:
description: "A sample adapter for test purposes"
session_based: true
templates:
- ...
config: ...config.proto descriptor set base64 encoded ...
syntax = "proto3";
package istio.mixer.adapter.model.v1beta1;
option go_package="istio.io/api/mixer/adapter/model/v1beta1";
option cc_generic_services = true;
import "google/protobuf/any.proto";
import "google/rpc/status.proto";
service InfrastructureBackend {
rpc Validate(ValidateRequest) returns (ValidateResponse);
rpc CreateSession(CreateSessionRequest) returns (CreateSessionResponse);
rpc CloseSession(CloseSessionRequest) returns (CloseSessionResponse);
}
message CreateSessionRequest {
google.protobuf.Any adapter_config = 1;
map<string, google.protobuf.Any> inferred_types = 2;
}
message CreateSessionResponse {
string session_id = 1;
google.rpc.Status status = 2;
}
message ValidateRequest {
google.protobuf.Any adapter_config = 1;
map<string, google.protobuf.Any> inferred_types = 2;
}
message ValidateResponse {
google.rpc.Status status = 1;
}
message CloseSessionRequest {
string session_id = 1;
}
message CloseSessionResponse {
google.rpc.Status status = 1;
}
apiVersion: config.istio.io/v1alpha2
kind: handler
metadata:
name: h1
namespace: istio-system
spec:
adapter: exampleadapter
connection:
address: exampleadapter:9070
params:
value1: testVal111
value2: testVal2222
因此,我已经完成了所有这些步骤,但是我的Validate / CreateSession方法从不被调用。
即使在调试中,我也尝试检查混合器(istio-policy)日志,但是我没有任何线索可以完全忽略此配置步骤!
有人会有什么想法吗?我想念的东西很明显吗?
谢谢!
答案 0 :(得分:0)
我在Istio GitHub问题跟踪器上得到了答案:https://github.com/istio/istio/issues/19194#issuecomment-558922143
TL; DR:尚未实现,并且没有计划在可预见的将来发布此功能。