From: Dileep Ranganathan Date: Wed, 9 Oct 2019 04:31:42 +0000 (-0700) Subject: Added Istio config for multicluster connectivity X-Git-Tag: 1.6.0~72 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=demo.git;a=commitdiff_plain;h=adac5a661c623699fcfc370c970423a3af32484b Added Istio config for multicluster connectivity 1. Collection package 2. Kafka 3. M3DB Issue-ID: ONAPARC-466 Signed-off-by: Dileep Ranganathan Change-Id: I3ef5722f207a930437ddc7c01e22609772f97865 --- diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/README.md b/vnfs/DAaaS/deploy/istio-config/collection-config/README.md new file mode 100644 index 00000000..175ee811 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/README.md @@ -0,0 +1,15 @@ +# Istio virtualservice for Collectd, CAdvisor, Node Exporter + +The following values has to be updated depending on the Cluster's installation in values.yaml + +1. allowedhosts - hostname or FQDN for collection service (used by Prometheus to discover scraping target) +2. gateways - Name of the Istio gateway to which this virtualservice will be connected to +3. destinationhost - collection service name +4. port - port of the collection service + +# Installation +1. helm install collectd-istio-connectivity -n edge1 +2. helm install cadvisor-istio-connectivity -n edge1 +3. helm install node-exporter-istio-connectivity -n edge1 + +NOTE - The namespace (edge1) is used an example. This has to be changed to be namespace where collectd is deployed. diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/Chart.yaml new file mode 100644 index 00000000..58e3e6ed --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2019 Intel Corporation +# # +# # Licensed under the Apache License, Version 2.0 (the "License"); +# # you may not use this file except in compliance with the License. +# # You may obtain a copy of the License at +# # +# # http://www.apache.org/licenses/LICENSE-2.0 +# # +# # Unless required by applicable law or agreed to in writing, software +# # distributed under the License is distributed on an "AS IS" BASIS, +# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# # See the License for the specific language governing permissions and +# # limitations under the License. +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Istio virtualservice +name: cadvisor-istio-connectivity +version: 0.1.0 diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/_helpers.tpl new file mode 100644 index 00000000..5516ee45 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/virtualservice.yaml new file mode 100644 index 00000000..fdeba94b --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/templates/virtualservice.yaml @@ -0,0 +1,37 @@ +{{/* +# Copyright 2019 Intel Corporation, Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: {{ template "fullname" . }} +spec: + hosts: + {{- range .Values.allowedhosts }} + - {{ . | quote }} + {{- end }} + gateways: + {{- range .Values.gateways }} + - {{ . | quote }} + {{- end }} + http: + - match: + - uri: + prefix: / + route: + - destination: + host: {{ .Values.destinationhost }} + port: + number: {{.Values.port }} diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/values.yaml new file mode 100644 index 00000000..87fe4379 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/cadvisor-istio-connectivity/values.yaml @@ -0,0 +1,21 @@ +# Copyright © 2019 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This file is a sample virtualservice format +allowedhosts: +- "cadvisor.edge1.k8s.com" +gateways: +- http-gateway +destinationhost: cadvisor +port: 80 diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/Chart.yaml new file mode 100644 index 00000000..93696e73 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2019 Intel Corporation +# # +# # Licensed under the Apache License, Version 2.0 (the "License"); +# # you may not use this file except in compliance with the License. +# # You may obtain a copy of the License at +# # +# # http://www.apache.org/licenses/LICENSE-2.0 +# # +# # Unless required by applicable law or agreed to in writing, software +# # distributed under the License is distributed on an "AS IS" BASIS, +# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# # See the License for the specific language governing permissions and +# # limitations under the License. +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Istio virtualservice +name: collectd-istio-connectivity +version: 0.1.0 diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/_helpers.tpl new file mode 100644 index 00000000..5516ee45 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/virtualservice.yaml new file mode 100644 index 00000000..fdeba94b --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/templates/virtualservice.yaml @@ -0,0 +1,37 @@ +{{/* +# Copyright 2019 Intel Corporation, Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: {{ template "fullname" . }} +spec: + hosts: + {{- range .Values.allowedhosts }} + - {{ . | quote }} + {{- end }} + gateways: + {{- range .Values.gateways }} + - {{ . | quote }} + {{- end }} + http: + - match: + - uri: + prefix: / + route: + - destination: + host: {{ .Values.destinationhost }} + port: + number: {{.Values.port }} diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/values.yaml new file mode 100644 index 00000000..283572a8 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/collectd-istio-connectivity/values.yaml @@ -0,0 +1,21 @@ +# Copyright © 2019 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This file is a sample virtualservice format +allowedhosts: +- "collectd.edge1.k8s.com" +gateways: +- http-gateway +destinationhost: collectd +port: 9103 diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/Chart.yaml new file mode 100644 index 00000000..d46d3d9b --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2019 Intel Corporation +# # +# # Licensed under the Apache License, Version 2.0 (the "License"); +# # you may not use this file except in compliance with the License. +# # You may obtain a copy of the License at +# # +# # http://www.apache.org/licenses/LICENSE-2.0 +# # +# # Unless required by applicable law or agreed to in writing, software +# # distributed under the License is distributed on an "AS IS" BASIS, +# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# # See the License for the specific language governing permissions and +# # limitations under the License. +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Istio virtualservice +name: node-exporter-istio-connectivity +version: 0.1.0 diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/_helpers.tpl new file mode 100644 index 00000000..5516ee45 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/virtualservice.yaml new file mode 100644 index 00000000..fdeba94b --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/templates/virtualservice.yaml @@ -0,0 +1,37 @@ +{{/* +# Copyright 2019 Intel Corporation, Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: {{ template "fullname" . }} +spec: + hosts: + {{- range .Values.allowedhosts }} + - {{ . | quote }} + {{- end }} + gateways: + {{- range .Values.gateways }} + - {{ . | quote }} + {{- end }} + http: + - match: + - uri: + prefix: / + route: + - destination: + host: {{ .Values.destinationhost }} + port: + number: {{.Values.port }} diff --git a/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/values.yaml new file mode 100644 index 00000000..feccdc90 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/collection-config/node-exporter-istio-connectivity/values.yaml @@ -0,0 +1,21 @@ +# Copyright © 2019 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This file is a sample virtualservice format +allowedhosts: +- "nodeexporter.edge1.k8s.com" +gateways: +- http-gateway +destinationhost: cp-prometheus-node-exporter +port: 9100 diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/README.md b/vnfs/DAaaS/deploy/istio-config/kafka-config/README.md new file mode 100644 index 00000000..5f4e088f --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/kafka-config/README.md @@ -0,0 +1,13 @@ +# Istio virtualservice for kafka to connect to any service + +The following values has to be updated depending on the Cluster's installation in values.yaml + +1. allowedhosts - URI of Service consuming kafka (or Any service which consumes kafka) +2. gateways - Name of the Istio gateway to which this virtualservice will be connected to +3. destinationhost - m3coordinator service name +4. port - port of the m3coordinator service + +# Installation +1. helm install kafka-istio-connectivity -n training + +NOTE - The namespace (training) is used an example. This has to be changed to be namespace where kafka is deployed. diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/Chart.yaml new file mode 100644 index 00000000..65a3c312 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2019 Intel Corporation +# # +# # Licensed under the Apache License, Version 2.0 (the "License"); +# # you may not use this file except in compliance with the License. +# # You may obtain a copy of the License at +# # +# # http://www.apache.org/licenses/LICENSE-2.0 +# # +# # Unless required by applicable law or agreed to in writing, software +# # distributed under the License is distributed on an "AS IS" BASIS, +# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# # See the License for the specific language governing permissions and +# # limitations under the License. +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Istio virtualservice +name: kafka-istio-connectivity +version: 0.1.0 diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/_helpers.tpl new file mode 100644 index 00000000..5516ee45 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/virtualservice.yaml new file mode 100644 index 00000000..fdeba94b --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/templates/virtualservice.yaml @@ -0,0 +1,37 @@ +{{/* +# Copyright 2019 Intel Corporation, Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: {{ template "fullname" . }} +spec: + hosts: + {{- range .Values.allowedhosts }} + - {{ . | quote }} + {{- end }} + gateways: + {{- range .Values.gateways }} + - {{ . | quote }} + {{- end }} + http: + - match: + - uri: + prefix: / + route: + - destination: + host: {{ .Values.destinationhost }} + port: + number: {{.Values.port }} diff --git a/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/values.yaml new file mode 100644 index 00000000..efa0cf39 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/kafka-config/kafka-istio-connectivity/values.yaml @@ -0,0 +1,21 @@ +# Copyright © 2019 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This file is a sample virtualservice format +allowedhosts: +- "kafka.mq.k8s.com" +gateways: +- http-gateway +destinationhost: kafka-cluster-kafka-bootstrap +port: 9092 diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/README.md b/vnfs/DAaaS/deploy/istio-config/m3db-config/README.md new file mode 100644 index 00000000..dc0a7e7f --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/m3db-config/README.md @@ -0,0 +1,13 @@ +# Istio virtualservice for M3DB to connect to any service + +The following values has to be updated depending on the Cluster's installation in values.yaml + +1. allowedhosts - URI of Service consuming M3DB (or Any service which consumes M3DB. Eg- Prometheus, Grafana etc) +2. gateways - Name of the Istio gateway to which this virtualservice will be connected to +3. destinationhost - m3coordinator service name +4. port - port of the m3coordinator service + +# Installation +1. helm install m3db-istio-connectivity -n training + +NOTE - The namespace (training) is used an example. This has to be changed to be namespace where m3db is deployed. diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/.helmignore b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/Chart.yaml b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/Chart.yaml new file mode 100644 index 00000000..c6b478bf --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2019 Intel Corporation +# # +# # Licensed under the Apache License, Version 2.0 (the "License"); +# # you may not use this file except in compliance with the License. +# # You may obtain a copy of the License at +# # +# # http://www.apache.org/licenses/LICENSE-2.0 +# # +# # Unless required by applicable law or agreed to in writing, software +# # distributed under the License is distributed on an "AS IS" BASIS, +# # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# # See the License for the specific language governing permissions and +# # limitations under the License. +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Istio virtualservice +name: m3db-istio-connectivity +version: 0.1.0 diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/_helpers.tpl b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/_helpers.tpl new file mode 100644 index 00000000..5516ee45 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/_helpers.tpl @@ -0,0 +1,25 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/virtualservice.yaml b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/virtualservice.yaml new file mode 100644 index 00000000..fdeba94b --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/templates/virtualservice.yaml @@ -0,0 +1,37 @@ +{{/* +# Copyright 2019 Intel Corporation, Inc +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +*/}} +apiVersion: networking.istio.io/v1alpha3 +kind: VirtualService +metadata: + name: {{ template "fullname" . }} +spec: + hosts: + {{- range .Values.allowedhosts }} + - {{ . | quote }} + {{- end }} + gateways: + {{- range .Values.gateways }} + - {{ . | quote }} + {{- end }} + http: + - match: + - uri: + prefix: / + route: + - destination: + host: {{ .Values.destinationhost }} + port: + number: {{.Values.port }} diff --git a/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/values.yaml b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/values.yaml new file mode 100644 index 00000000..efe76df3 --- /dev/null +++ b/vnfs/DAaaS/deploy/istio-config/m3db-config/m3db-istio-connectivity/values.yaml @@ -0,0 +1,21 @@ +# Copyright © 2019 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This file is a sample virtualservice format +allowedhosts: +- "m3db.training.k8s.com" +gateways: +- http-gateway +destinationhost: m3coordinator-m3db-cluster +port: 7201