OCCNE Automated Initial Configuration

Introduction

Common Services typically refers to the collection of various components deployed to OCCNE. The Common services are major functions in action which are able to perform logging, tracing, and metric collection of the cluster. To monitor the cluster and to raise alerts when an anomaly occurs or when a potential failure is round the corner. The below procedure are used to install the common services.

Prerequisites

  1. All procedures in Kubernetes Installer is complete.
  2. The bastion host running the docker image must have docker installed.
  3. A defined and installed site hosts.ini file should also be present. Check Inventory File Preparation for instructions for developing this file.
  4. A defined and installed site mb_configmap.yaml file should also be present in the same directory as hosts.ini. Check Populate the MetalLB Configuration File for instructions for developing this file.

  5. A docker image named 'occne/configure' must be available in the customer repository. Installation Procedure
  6. SNMP trap receiver should be setup in cluster reachable network (Optional: Required only for SNMP support)

Limitations and Expectations

Procedure Steps

All steps are executable from a SSH application (putty) connected laptop accessible via the Management Interface.

Table 3-16 Procedure to install common services

Step # Procedure Description
1. Configure variables
The following variables should be configured according to customer needs, these variables can be modified to point to customer-specific repositories and other configurations needing to be done in the hosts.ini files as documented in the Inventory File Template
  1. <occne_helm_stable_repo_url>
  2. <occne_helm_images_repo>
  3. <occne_snmp_notifier_destination> (Optional: Only for SNMP Support): Update this parameter with the address of SNMP trap receiver in the format <IP Address>:<Port>, where <IP Address> is IP address of host running SNMP trap receiver and <Port> is port of SNMP trap receiver service. For Ex: "127.0.0.1:162" is Default.
2. Run configure image Run the configure image using the below command. After "configure:" keyword put the tag of your latest pulled image.
$ docker run --rm -v /<PATH_TO_CLUSTER>/<CLUSTER_NAME>:/host <CUSTOMER-PROVIDED_REPOSITORY_LOCATION>/occne/configure:<RELEASE_TAG>
 
Example:
 
$ docker run --rm --network host --cap-add=NET_ADMIN -v /var/occne/rainbow.lab.us.oracle.com/:/host -v /var/occne/:/var/occne:rw -e "OCCNEARGS=--limit host_hp_gen_10[0:7],localhost" 10.75.200.217:5000/configure:1.2.0

Note: Replace the <release_tag> after "configure:" image name with the latest build tag.

3. Verify the services After the above command successfully completes, the services deployed and exposed can be verified by using the below commandon the Bastion Host.
$ kubectl.sh get service --namespace=<NAMESPACE_VALUE>
or
$ kubectl.sh get service --all-namespaces
 
Example:
kubectl.sh get service --all-namespaces
kubectl.sh get service --namespace=default
kubectl.sh get service --namespace=kube-system
kubectl.sh get srvices --namespace=occne-infra
4. Sample Output

To verify if the above command was executed successfully and whether the services was installed properly, the output shown below can be taken as reference.

NAMESPACE     NAME                                            TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                                                     AGE
default       kubernetes                                      ClusterIP      10.233.0.1      <none>          443/TCP                                                     15d
kube-system   coredns                                         ClusterIP      10.233.0.3      <none>          53/UDP,53/TCP,9153/TCP                                      2d22h
kube-system   tiller-deploy                                   ClusterIP      10.233.49.220   <none>          44134/TCP                                                   15d
occne-infra   occne-elastic-elasticsearch-client              ClusterIP      10.233.32.176   <none>          9200/TCP                                                    2d
occne-infra   occne-elastic-elasticsearch-discovery           ClusterIP      None            <none>          9300/TCP                                                    2d
occne-infra   occne-elastic-exporter-elasticsearch-exporter   ClusterIP      10.233.30.32    <none>          9108/TCP                                                    2d
occne-infra   occne-grafana                                   LoadBalancer   10.233.50.235   10.75.207.165   80:30714/TCP                                                2d
occne-infra   occne-kibana                                    LoadBalancer   10.233.35.35    10.75.207.161   80:31725/TCP                                                2d
occne-infra   occne-metrics-server                            ClusterIP      10.233.33.55    <none>          443/TCP                                                     2d
occne-infra   occne-prometheus-alertmanager                   LoadBalancer   10.233.17.109   10.75.207.163   80:30894/TCP                                                2d
occne-infra   occne-prometheus-alertmanager-headless          ClusterIP      None            <none>          80/TCP,6783/TCP                                             2d
occne-infra   occne-prometheus-kube-state-metrics             ClusterIP      None            <none>          80/TCP                                                      2d
occne-infra   occne-prometheus-node-exporter                  ClusterIP      10.233.32.132   <none>          9100/TCP                                                    2d
occne-infra   occne-prometheus-pushgateway                    ClusterIP      10.233.12.53    <none>          9091/TCP                                                    2d
occne-infra   occne-prometheus-server                         LoadBalancer   10.233.46.125   10.75.207.164   80:31467/TCP                                                2d
occne-infra   occne-tracer-jaeger-agent                       ClusterIP      10.233.47.176   <none>          5775/UDP,6831/UDP,6832/UDP,5778/TCP                         2d
occne-infra   occne-tracer-jaeger-collector                   ClusterIP      10.233.11.191   <none>          14267/TCP,14268/TCP,9411/TCP                                2d
occne-infra   occne-tracer-jaeger-query                       LoadBalancer   10.233.16.217   10.75.207.162   80:31628/TCP                                     99
5. Remove configuration, if node fails. If a node fail during configuration deployment, the configuration can be removed using the following:
$ docker run --rm --network host --cap-add=NET_ADMIN -v /var/occne/<cluster_name>/:/host -v /var/occne/:/var/occne:rw -e "OCCNEARGS=--limit <host_filter>,localhost --tags remove" <repo>/configure:<tag>
 
Example:
$ docker run --rm --network host --cap-add=NET_ADMIN -v /var/occne/rainbow.lab.us.oracle.com/:/host -v /var/occne/:/var/occne:rw -e "OCCNEARGS=--limit host_hp_gen_10[0:7],localhost --tags remove" 10.75.200.217:5000/configure:1.2.0