1edd5c1122b32f996b53e02c0cdb4a8f6d2eb94d
[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 applied in order for services to 
19 get external IP address assigned.Please Update values.yaml before deploying
20
21 Prerequisites
22 -------------
23
24 -  Kubernetes 1.9+
25
26 Installing the Chart
27 --------------------
28
29 The chart can be installed as follows:
30
31 ```console
32 $ helm install --name metallb metallb
33 ```
34
35 The command deploys MetalLB on the Kubernetes cluster. This chart does
36 not provide a default configuration; MetalLB will not act on your
37 Kubernetes Services until you provide
38 one. The [configuration](#configuration) section lists various ways to
39 provide this configuration.
40
41 Uninstalling the Chart
42 ----------------------
43
44 To uninstall/delete the `metallb` deployment:
45
46 ```console
47 $ helm delete metallb
48 ```
49
50 The command removes all the Kubernetes components associated with the
51 chart, but will not remove the release metadata from `helm` — this will prevent
52 you, for example, if you later try to create a release also named `metallb`). To
53 fully delete the release and release history, simply [include the `--purge`
54 flag][helm-usage]:
55
56 ```console
57 $ helm delete --purge metallb
58 ```
59
60 Configuration
61 -------------
62
63 See `values.yaml` for configuration notes. Specify each parameter
64 using the `--set key=value[,key=value]` argument to `helm
65 install`. For example,
66
67 ```console
68 $ helm install --name metallb \
69   --set rbac.create=false \
70     stable/metallb
71 ```
72
73 The above command disables the use of RBAC rules.
74
75 Alternatively, a YAML file that specifies the values for the above
76 parameters can be provided while installing the chart. For example,
77
78 ```console
79 $ helm install --name metallb -f values.yaml metallb
80 ```
81
82 By default, this chart does not install a configuration for MetalLB, and simply
83 warns you that you must follow [the configuration instructions on MetalLB's
84 website][metallb-config] to create an appropriate ConfigMap.
85
86 **Please note:** By default, this chart expects a ConfigMap named
87 'metallb-config' within the same namespace as the chart is
88 deployed. _This is different than the MetalLB documentation_, which
89 asks you to create a ConfigMap in the `metallb-system` namespace, with
90 the name of 'config'.
91
92 For simple setups that only use MetalLB's [ARP mode][metallb-arpndp-concepts],
93 you can specify a single IP range using the `arpAddresses` parameter to have the
94 chart install a working configuration for you:
95
96 ```console
97 $ helm install --name metallb \
98   --set arpAddresses=192.168.16.240/30 \
99   stable/metallb
100 ```
101
102 If you have a more complex configuration and want Helm to manage it for you, you
103 can provide it in the `config` parameter. The configuration format is
104 [documented on MetalLB's website][metallb-config].
105
106 ```console
107 $ cat values.yaml
108 configInline:
109   peers:
110   - peer-address: 10.0.0.1
111     peer-asn: 64512
112     my-asn: 64512
113   address-pools:
114   - name: default
115     protocol: bgp
116     addresses:
117     - 198.51.100.0/24
118
119 $ helm install --name metallb -f values.yaml metallb
120 ```
121
122 [helm-home]: https://helm.sh
123 [helm-usage]: https://docs.helm.sh/using_helm/
124 [k8s-home]: https://kubernetes.io
125 [metallb-arpndp-concepts]: https://metallb.universe.tf/concepts/arp-ndp/
126 [metallb-config]: https://metallb.universe.tf/configuration/
127 [metallb-home]: https://metallb.universe.tf