38.12. SimulateNetworkGraph
POST /v1/networkpolicies/simulate/{clusterId}
38.12.1. 설명
38.12.2. 매개 변수
38.12.2.1. 경로 매개변수
이름 | 설명 | 필수 항목 | 기본 | 패턴 |
---|---|---|---|---|
clusterId | X | null |
38.12.2.2. 본문 매개변수
이름 | 설명 | 필수 항목 | 기본 | 패턴 |
---|---|---|---|---|
body | X |
38.12.2.3. 쿼리 매개변수
이름 | 설명 | 필수 항목 | 기본 | 패턴 |
---|---|---|---|---|
query | - | null | ||
includePorts | true로 설정하면 네트워크 정책 그래프에 포트 수준 정보를 포함합니다. | - | null | |
includeNodeDiff | - | null | ||
scope.query | - | null |
38.12.3. 반환 유형
38.12.4. 콘텐츠 유형
- application/json
38.12.5. 응답
코드 | 메시지 | datatype |
---|---|---|
200 | 성공적인 응답입니다. | |
0 | 예기치 않은 오류 응답 |
38.12.6. Samples
38.12.7. 공통 오브젝트 참조
38.12.7.1. DeploymentListenPort
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
port | long | int64 | |||
l4protocol | L4_PROTOCOL_UNKNOWN, L4_PROTOCOL_TCP, L4_PROTOCOL_UDP, L4_PROTOCOL_ICMP, L4_PROTOCOL_RAW, L4_PROTOCOL_SCTP, L4_PROTOCOL_ANY, |
38.12.7.2. NetworkEntityInfoExternalSource
이 메시지가 업데이트될 때마다 central/networkgraph/aggregator/aggregator.go
에서 normalizeDupNameExtSrcs(…)를 업데이트합니다.
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
name | 문자열 | ||||
cidr | 문자열 | ||||
default | 부울 |
|
38.12.7.3. ProtobufAny
any
는 직렬화된 메시지의 유형을 설명하는 URL과 함께 임의의 직렬화된 프로토콜 버퍼 메시지를 포함합니다.
protobuf 라이브러리는 유틸리티 함수 또는 Any 유형의 추가 생성 메서드 형태로 모든 값의 팩/unpack을 지원합니다.
예 1: 팩 및 C++에서 메시지의 압축을 풉니다.
Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }
Foo foo = ...;
Any any;
any.PackFrom(foo);
...
if (any.UnpackTo(&foo)) {
...
}
예 2: Java에서 메시지 팩 및 압축을 풉니다.
Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }
Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
foo = any.unpack(Foo.class);
}
// or ...
if (any.isSameTypeAs(Foo.getDefaultInstance())) {
foo = any.unpack(Foo.getDefaultInstance());
}
Example 3: Pack and unpack a message in Python.
Example 3: Pack and unpack a message in Python.
foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...
foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
any.Unpack(foo)
...
Example 4: Pack and unpack a message in Go
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }
foo := &pb.Foo{...}
any, err := anypb.New(foo)
if err != nil {
...
}
...
foo := &pb.Foo{}
if err := any.UnmarshalTo(foo); err != nil {
...
}
protobuf 라이브러리에서 제공하는 pack 메서드는 기본적으로 유형 URL로 'type.googleapis.com/full.type.name'을 사용하고 압축 해제 방법은 유형 URL에서 마지막 '/' 후에만 정규화된 유형 이름을 사용합니다(예: "foo.bar.com/x/y.z")는 유형 이름 "y.z"를 생성합니다.
38.12.7.3.1. JSON 표현
Any
값의 JSON 표현에서는 형식 URL을 포함하는 추가 필드 @type
과 함께 deserialized 포함 메시지의 정규식을 사용합니다. 예제:
package google.profile; message Person { string first_name = 1; string last_name = 2; }
package google.profile;
message Person {
string first_name = 1;
string last_name = 2;
}
{ "@type": "type.googleapis.com/google.profile.Person", "firstName": <string>, "lastName": <string> }
{
"@type": "type.googleapis.com/google.profile.Person",
"firstName": <string>,
"lastName": <string>
}
포함된 메시지 유형이 잘 알려져 있고 사용자 지정 JSON 표현이 있는 경우 해당 표현에 @type
필드 외에도 사용자 지정 JSON이 포함된 필드 값을
추가합니다. 예(메시지 [google.protobuf.Duration][]).
{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }
{
"@type": "type.googleapis.com/google.protobuf.Duration",
"value": "1.212s"
}
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
typeUrl | 문자열 |
직렬화된 프로토콜 버퍼 메시지의 유형을 고유하게 식별하는 URL/리소스 이름입니다. 이 문자열에는 하나 이상의 \"/\" 문자가 포함되어야 합니다. URL 경로의 마지막 세그먼트는 | |||
value | byte[] | 지정된 유형의 유효한 직렬화 프로토콜 버퍼여야 합니다. | byte |
38.12.7.4. RuntimeError
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
error | 문자열 | ||||
코드 | 정수 | int32 | |||
message | 문자열 | ||||
세부 정보 |
38.12.7.5. StorageIPBlock
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
cidr | 문자열 | ||||
except |
|
38.12.7.6. StorageL4Protocol
열거 값 |
---|
L4_PROTOCOL_UNKNOWN |
L4_PROTOCOL_TCP |
L4_PROTOCOL_UDP |
L4_PROTOCOL_ICMP |
L4_PROTOCOL_RAW |
L4_PROTOCOL_SCTP |
L4_PROTOCOL_ANY |
38.12.7.7. StorageLabelSelector
Label selector components are joined with logical AND, see https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
Label selector components are joined with logical AND, see https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
사용 가능한 다음 태그: 3
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
matchLabels |
| 이는 실제로 oneof이지만 이전 버전과의 호환성 제약으로 인해 만들 수 없습니다. | |||
요구사항 |
38.12.7.8. StorageLabelSelectorOperator
열거 값 |
---|
알 수 없음 |
IN |
NOT_IN |
EXISTS |
NOT_EXISTS |
38.12.7.9. StorageLabelSelectorRequirement
Next available tag: 4
Next available tag: 4
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
key | 문자열 | ||||
op | UNKNOWN, IN, NOT_IN, EXISTS, NOT_EXISTS, | ||||
값 |
|
38.12.7.10. StorageNetworkEntityInfo
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
type | UNKNOWN_TYPE, DEPLOYMENT, INTERNET, LISTEN_ENDPOINT, EXTERNAL_SOURCE, INTERNAL_ENTITIES, | ||||
id | 문자열 | ||||
배포 | |||||
externalSource |
38.12.7.11. StorageNetworkEntityInfoDeployment
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
name | 문자열 | ||||
네임스페이스 | 문자열 | ||||
cluster | 문자열 | ||||
listenPorts |
38.12.7.12. StorageNetworkEntityInfoType
- INTERNAL_ENTITIES: INTERNAL_ENTITIES는 단일 네트워크 그래프 노드 아래의 모든 내부 엔티티를 그룹화하기 위한 것입니다.
열거 값 |
---|
UNKNOWN_TYPE |
DEPLOYMENT |
인터넷 |
LISTEN_ENDPOINT |
EXTERNAL_SOURCE |
INTERNAL_ENTITIES |
38.12.7.13. StorageNetworkPolicy
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
id | 문자열 | ||||
name | 문자열 | ||||
clusterId | 문자열 | ||||
clusterName | 문자열 | ||||
네임스페이스 | 문자열 | ||||
labels |
| ||||
annotations |
| ||||
spec | |||||
yaml | 문자열 | ||||
apiVersion | 문자열 | ||||
created | 날짜 | 날짜-시간 |
38.12.7.14. StorageNetworkPolicyEgressRule
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
포트 | List of StorageNetworkPolicyPort | ||||
다음으로 변경 |
38.12.7.15. StorageNetworkPolicyIngressRule
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
포트 | List of StorageNetworkPolicyPort | ||||
from |
38.12.7.16. StorageNetworkPolicyModification
Next available tag: 3
Next available tag: 3
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
applyYaml | 문자열 | ||||
toDelete |
38.12.7.17. StorageNetworkPolicyPeer
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
podSelector | |||||
namespaceSelector | |||||
ipBlock |
38.12.7.18. StorageNetworkPolicyPort
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
프로토콜 | UNSET_PROTOCOL, TCP_PROTOCOL, UDP_PROTOCOL, SCTP_PROTOCOL, | ||||
port | 정수 | int32 | |||
portName | 문자열 |
38.12.7.19. StorageNetworkPolicyReference
Next available tag: 3
Next available tag: 3
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
네임스페이스 | 문자열 | ||||
name | 문자열 |
38.12.7.20. StorageNetworkPolicySpec
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
podSelector | |||||
Ingress | |||||
egress | |||||
policyTypes |
38.12.7.21. StorageNetworkPolicyType
열거 값 |
---|
UNSET_NETWORK_POLICY_TYPE |
INGRESS_NETWORK_POLICY_TYPE |
EGRESS_NETWORK_POLICY_TYPE |
38.12.7.22. StorageProtocol
열거 값 |
---|
UNSET_PROTOCOL |
TCP_PROTOCOL |
UDP_PROTOCOL |
SCTP_PROTOCOL |
38.12.7.23. V1NetworkEdgeProperties
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
port | long | int64 | |||
프로토콜 | L4_PROTOCOL_UNKNOWN, L4_PROTOCOL_TCP, L4_PROTOCOL_UDP, L4_PROTOCOL_ICMP, L4_PROTOCOL_RAW, L4_PROTOCOL_SCTP, L4_PROTOCOL_ANY, | ||||
lastActiveTimestamp | 날짜 | 날짜-시간 |
38.12.7.24. V1NetworkEdgePropertiesBundle
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
속성 |
38.12.7.25. V1NetworkGraph
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
epoch | long | int64 | |||
노드 |
38.12.7.26. V1NetworkGraphDiff
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
DEPRECATEDNodeDiffs | |||||
nodeDiffs |
38.12.7.27. V1NetworkNode
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
엔터티 | |||||
internetAccess | 부울 | ||||
policyIds |
| ||||
nonIsolatedIngress | 부울 | ||||
nonIsolatedEgress | 부울 | ||||
queryMatch | 부울 | ||||
outEdges |
38.12.7.28. V1NetworkNodeDiff
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
policyIds |
| ||||
DEPRECATEDOutEdges | |||||
outEdges | |||||
nonIsolatedIngress | 부울 | ||||
nonIsolatedEgress | 부울 |
38.12.7.29. V1NetworkPolicyInSimulation
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
policy | |||||
status | 유효하지 않음, 변경되지 않음, 수정, 추가, 삭제 | ||||
oldPolicy |
38.12.7.30. V1NetworkPolicyInSimulationStatus
열거 값 |
---|
INVALID |
변경되지 않음 |
MODIFIED |
ADDED |
삭제됨 |
38.12.7.31. V1SimulateNetworkGraphResponse
필드 이름 | 필수 항목 | Cryostat | 유형 | 설명 | 형식 |
---|---|---|---|---|---|
simulatedGraph | |||||
Policies | |||||
추가됨 | |||||
제거됨 |