2.20.
2.20.1. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.2. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.3. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.4. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.5. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.6. 링크 복사링크가 클립보드에 복사되었습니다!
- 참고
2.20.7. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.7.1. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.7.2. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.7.3. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.7.4. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.7.5. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.8. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.9. 링크 복사링크가 클립보드에 복사되었습니다!
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: red-mesh
namespace: red-mesh-system
spec:
version: v2.6
runtime:
defaults:
container:
imagePullPolicy: Always
gateways:
additionalEgress:
egress-green-mesh:
enabled: true
requestedNetworkView:
- green-network
service:
metadata:
labels:
federation.maistra.io/egress-for: egress-green-mesh
ports:
- port: 15443
name: tls
- port: 8188
name: http-discovery #note HTTP here
egress-blue-mesh:
enabled: true
requestedNetworkView:
- blue-network
service:
metadata:
labels:
federation.maistra.io/egress-for: egress-blue-mesh
ports:
- port: 15443
name: tls
- port: 8188
name: http-discovery #note HTTP here
additionalIngress:
ingress-green-mesh:
enabled: true
service:
type: LoadBalancer
metadata:
labels:
federation.maistra.io/ingress-for: ingress-green-mesh
ports:
- port: 15443
name: tls
- port: 8188
name: https-discovery #note HTTPS here
ingress-blue-mesh:
enabled: true
service:
type: LoadBalancer
metadata:
labels:
federation.maistra.io/ingress-for: ingress-blue-mesh
ports:
- port: 15443
name: tls
- port: 8188
name: https-discovery #note HTTPS here
security:
trust:
domain: red-mesh.local
|
|
|
|
|
|
|
|
2.20.9.1. 링크 복사링크가 클립보드에 복사되었습니다!
|
| ||
|
|
|
|
|
|
| |
|
| ||
|
|
| |
|
| ||
|
|
|
|
|
|
| |
|
|
| |
|
| ||
|
|
| |
|
|
|
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: green-mesh
namespace: green-mesh-system
spec:
# ...
gateways:
additionalIngress:
ingress-green-mesh:
enabled: true
service:
type: NodePort
metadata:
labels:
federation.maistra.io/ingress-for: ingress-green-mesh
ports:
- port: 15443
nodePort: 30510
name: tls
- port: 8188
nodePort: 32359
name: https-discovery
2.20.9.2. 링크 복사링크가 클립보드에 복사되었습니다!
kind: ServiceMeshControlPlane
metadata:
name: red-mesh
namespace: red-mesh-system
spec:
security:
trust:
domain: red-mesh.local
|
|
|
|
$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443$ oc project red-mesh-system$ oc edit -n red-mesh-system smcp red-mesh$ oc get smcp -n red-mesh-systemNAME READY STATUS PROFILES VERSION AGE red-mesh 10/10 ComponentsReady ["default"] 2.1.0 4m25s
2.20.10. 링크 복사링크가 클립보드에 복사되었습니다!
[D]
kind: ServiceMeshPeer
apiVersion: federation.maistra.io/v1
metadata:
name: green-mesh
namespace: red-mesh-system
spec:
remote:
addresses:
- ingress-red-mesh.green-mesh-system.apps.domain.com
gateways:
ingress:
name: ingress-green-mesh
egress:
name: egress-green-mesh
security:
trustDomain: green-mesh.local
clientID: green-mesh.local/ns/green-mesh-system/sa/egress-red-mesh-service-account
certificateChain:
kind: ConfigMap
name: green-mesh-ca-root-cert
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| |
|
| |
|
|
|
|
|
|
|
|
|
2.20.10.1. 링크 복사링크가 클립보드에 복사되었습니다!
$ oc login --username=<NAMEOFUSER> <API token> https://<HOSTNAME>:6443$ oc project red-mesh-systemkind: ServiceMeshPeer apiVersion: federation.maistra.io/v1 metadata: name: green-mesh namespace: red-mesh-system spec: remote: addresses: - ingress-red-mesh.green-mesh-system.apps.domain.com gateways: ingress: name: ingress-green-mesh egress: name: egress-green-mesh security: trustDomain: green-mesh.local clientID: green-mesh.local/ns/green-mesh-system/sa/egress-red-mesh-service-account certificateChain: kind: ConfigMap name: green-mesh-ca-root-cert$ oc create -n red-mesh-system -f servicemeshpeer.yaml$ oc -n red-mesh-system get servicemeshpeer green-mesh -o yamlstatus: discoveryStatus: active: - pod: istiod-red-mesh-b65457658-9wq5j remotes: - connected: true lastConnected: "2021-10-05T13:02:25Z" lastFullSync: "2021-10-05T13:02:25Z" source: 10.128.2.149 watch: connected: true lastConnected: "2021-10-05T13:02:55Z" lastDisconnectStatus: 503 Service Unavailable lastFullSync: "2021-10-05T13:05:43Z"
2.20.11. 링크 복사링크가 클립보드에 복사되었습니다!
[D]
kind: ExportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
name: green-mesh
namespace: red-mesh-system
spec:
exportRules:
# export ratings.mesh-x-info as ratings.bookinfo
- type: NameSelector
nameSelector:
namespace: red-mesh-info
name: red-ratings
alias:
namespace: info
name: ratings
# export any service in red-mesh-info namespace with label export-service=true
- type: LabelSelector
labelSelector:
namespace: red-mesh-info
selector:
matchLabels:
export-service: "true"
aliases: # export all matching services as if they were in the info namespace
- namespace: "*"
name: "*"
alias:
namespace: info
|
|
|
|
| |
|
|
|
|
| |
|
| |
|
| |
|
|
kind: ExportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
name: blue-mesh
namespace: red-mesh-system
spec:
exportRules:
- type: NameSelector
nameSelector:
namespace: "*"
name: ratings
kind: ExportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
name: green-mesh
namespace: red-mesh-system
spec:
exportRules:
- type: NameSelector
nameSelector:
namespace: west-data-center
name: "*"
2.20.11.1. 링크 복사링크가 클립보드에 복사되었습니다!
$ oc login --username=<NAMEOFUSER> <API token> https://<HOSTNAME>:6443$ oc project red-mesh-systemapiVersion: federation.maistra.io/v1 kind: ExportedServiceSet metadata: name: green-mesh namespace: red-mesh-system spec: exportRules: - type: NameSelector nameSelector: namespace: red-mesh-info name: ratings alias: namespace: info name: red-ratings - type: NameSelector nameSelector: namespace: red-mesh-info name: reviews$ oc create -n <ControlPlaneNamespace> -f <ExportedServiceSet.yaml>$ oc create -n red-mesh-system -f export-to-green-mesh.yaml
$ oc get exportedserviceset <PeerMeshExportedTo> -o yaml$ oc -n red-mesh-system get exportedserviceset green-mesh -o yamlstatus: exportedServices: - exportedName: red-ratings.info.svc.green-mesh-exports.local localService: hostname: ratings.red-mesh-info.svc.cluster.local name: ratings namespace: red-mesh-info - exportedName: reviews.red-mesh-info.svc.green-mesh-exports.local localService: hostname: reviews.red-mesh-info.svc.cluster.local name: reviews namespace: red-mesh-info
2.20.12. 링크 복사링크가 클립보드에 복사되었습니다!
[D]
kind: ImportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
name: red-mesh #name of mesh that exported the service
namespace: green-mesh-system #mesh namespace that service is being imported into
spec:
importRules: # first matching rule is used
# import ratings.info as ratings.bookinfo
- type: NameSelector
importAsLocal: false
nameSelector:
namespace: info
name: ratings
alias:
# service will be imported as ratings.info.svc.red-mesh-imports.local
namespace: info
name: ratings
|
| |
|
| |
|
|
|
|
| |
|
|
|
|
|
kind: ImportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
name: red-mesh
namespace: blue-mesh-system
spec:
importRules:
- type: NameSelector
importAsLocal: false
nameSelector:
namespace: info
name: ratings
kind: ImportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
name: red-mesh
namespace: green-mesh-system
spec:
importRules:
- type: NameSelector
importAsLocal: false
nameSelector:
namespace: west-data-center
name: "*"
2.20.12.1. 링크 복사링크가 클립보드에 복사되었습니다!
$ oc login --username=<NAMEOFUSER> <API token> https://<HOSTNAME>:6443$ oc project green-mesh-systemkind: ImportedServiceSet apiVersion: federation.maistra.io/v1 metadata: name: red-mesh namespace: green-mesh-system spec: importRules: - type: NameSelector importAsLocal: false nameSelector: namespace: info name: red-ratings alias: namespace: info name: ratings$ oc create -n <ControlPlaneNamespace> -f <ImportedServiceSet.yaml>$ oc create -n green-mesh-system -f import-from-red-mesh.yaml
$ oc get importedserviceset <PeerMeshImportedInto> -o yaml$ oc -n green-mesh-system get importedserviceset/red-mesh -o yamlstatus: importedServices: - exportedName: red-ratings.info.svc.green-mesh-exports.local localService: hostname: ratings.info.svc.red-mesh-imports.local name: ratings namespace: info - exportedName: reviews.red-mesh-info.svc.green-mesh-exports.local localService: hostname: "" name: "" namespace: ""
2.20.13. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.13.1. 링크 복사링크가 클립보드에 복사되었습니다!
kind: ImportedServiceSet
apiVersion: federation.maistra.io/v1
metadata:
name: red-mesh #name of mesh that exported the service
namespace: green-mesh-system #mesh namespace that service is being imported into
spec:
importRules: # first matching rule is used
# import ratings.info as ratings.bookinfo
- type: NameSelector
importAsLocal: true
nameSelector:
namespace: info
name: ratings
alias:
# service will be imported as ratings.info.svc.red-mesh-imports.local
namespace: info
name: ratings
#Locality within which imported services should be associated.
locality:
region: us-west
|
|
|
|
|
|
|
|
|
|
|
|
$ oc login --username=<NAMEOFUSER> <API token> https://<HOSTNAME>:6443$ oc project <smcp-system>$ oc project green-mesh-system$ oc edit -n <smcp-system> -f <ImportedServiceSet.yaml>$ oc edit -n green-mesh-system -f import-from-red-mesh.yaml
2.20.13.2. 링크 복사링크가 클립보드에 복사되었습니다!
$ oc login --username=<NAMEOFUSER> <API token> https://<HOSTNAME>:6443$ oc project <smcp-system>$ oc project green-mesh-systemapiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata: name: default-failover namespace: info spec: host: "ratings.info.svc.cluster.local" trafficPolicy: loadBalancer: localityLbSetting: enabled: true failover: - from: us-east to: us-west outlierDetection: consecutive5xxErrors: 3 interval: 10s baseEjectionTime: 1m$ oc create -n <application namespace> -f <DestinationRule.yaml>$ oc create -n info -f green-mesh-us-west-DestinationRule.yaml
2.20.14. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.14.1. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.14.2. 링크 복사링크가 클립보드에 복사되었습니다!
2.20.15. 링크 복사링크가 클립보드에 복사되었습니다!