Adding Istio installtion helm charts
[demo.git] / vnfs / DAaaS / deploy / 00-init / metallb / README.md
1 /*
2  * Copyright 2019 Intel Corporation, Inc
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17
18 NOTE - A configMap of available IPs is to be applied in order for services
19 to get external IP address assigned. Please Update values.yaml with
20 IP addresses before deploying
21
22 Prerequisites
23 -------------
24
25 -  Kubernetes 1.9+
26
27 Installing the Chart
28 --------------------
29
30 The chart can be installed as follows:
31
32 ```console
33 $ helm install --name metallb metallb
34 ```
35
36 The command deploys MetalLB on the Kubernetes cluster. This chart does
37 not provide a default configuration; MetalLB will not act on your
38 Kubernetes Services until you provide
39 one. The [configuration](#configuration) section lists various ways to
40 provide this configuration.
41
42 Uninstalling the Chart
43 ----------------------
44
45 To uninstall/delete the `metallb` deployment:
46
47 ```console
48 $ helm delete metallb
49 ```
50
51 The command removes all the Kubernetes components associated with the
52 chart, but will not remove the release metadata from `helm` — this will prevent
53 you, for example, if you later try to create a release also named `metallb`). To
54 fully delete the release and release history, simply [include the `--purge`
55 flag][helm-usage]:
56
57 ```console
58 $ helm delete --purge metallb
59 ```
60
61 Configuration
62 -------------
63
64 See `values.yaml` for configuration notes. Specify each parameter
65 using the `--set key=value[,key=value]` argument to `helm
66 install`. For example,
67
68 ```console
69 $ helm install --name metallb \
70   --set rbac.create=false \
71     stable/metallb
72 ```
73
74 The above command disables the use of RBAC rules.
75
76 Alternatively, a YAML file that specifies the values for the above
77 parameters can be provided while installing the chart. For example,
78
79 ```console
80 $ helm install --name metallb -f values.yaml metallb
81 ```
82
83 By default, this chart does not install a configuration for MetalLB, and simply
84 warns you that you must follow [the configuration instructions on MetalLB's
85 website][metallb-config] to create an appropriate ConfigMap.
86
87 **Please note:** By default, this chart expects a ConfigMap named
88 'metallb-config' within the same namespace as the chart is
89 deployed. _This is different than the MetalLB documentation_, which
90 asks you to create a ConfigMap in the `metallb-system` namespace, with
91 the name of 'config'.
92
93 For simple setups that only use MetalLB's [ARP mode][metallb-arpndp-concepts],
94 you can specify a single IP range using the `arpAddresses` parameter to have the
95 chart install a working configuration for you:
96
97 ```console
98 $ helm install --name metallb \
99   --set arpAddresses=192.168.16.240/30 \
100   stable/metallb
101 ```
102
103 If you have a more complex configuration and want Helm to manage it for you, you
104 can provide it in the `config` parameter. The configuration format is
105 [documented on MetalLB's website][metallb-config].
106
107 ```console
108 $ cat values.yaml
109 configInline:
110   peers:
111   - peer-address: 10.0.0.1
112     peer-asn: 64512
113     my-asn: 64512
114   address-pools:
115   - name: default
116     protocol: bgp
117     addresses:
118     - 198.51.100.0/24
119
120 $ helm install --name metallb -f values.yaml metallb
121 ```
122
123 [helm-home]: https://helm.sh
124 [helm-usage]: https://docs.helm.sh/using_helm/
125 [k8s-home]: https://kubernetes.io
126 [metallb-arpndp-concepts]: https://metallb.universe.tf/concepts/arp-ndp/
127 [metallb-config]: https://metallb.universe.tf/configuration/
128 [metallb-home]: https://metallb.universe.tf