Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Note: Wiki in progress (added draft notes)

Table of Contents

Infra Setup

  1. Create a VM (VCPU:12, RAM: 64 GB, Storage: 160 GB)
    1. Size is based on minimum ONAP components (AAF, Consul, Dmaap, DCAE)
  2. Download RKE version (For k8s compatibility - check https://github.com/rancher/rke/releases?page=1)(ubuntu)
      1. wget https://github.com/rancher/rke/releases/download/v1.2.5/rke_linux-amd64   (https://rancher.com/docs/rke/latest/en/installation/
      2. OR  https://github.com/rancher/rke/releases/download/v1.2.8/rke_linux-amd64  (https://github.com/rancher/rke/releases/tag/v1.2.8)
      mv
      1. OR https://github.com/rancher/rke/releases/download/v1.3.7/rke_linux-amd64
      rke
    1. chmod +x rke

    2. export PATH=$PATH:.

      1.   (Note: nameserver 8.8.8.8 to the first line of /etc/resolv.conf)
      2. OR wget  https://github.com/rancher/rke/releases/download/v1.3.11/rke_linux-amd64  (https://github.com/rancher/rke/releases/tag/v1.3.11)
    3. mv rke_linux-amd64 rke

    4. chmod +x rke

    5. export PATH=$PATH:.

    6. rke config (to specifiy cluster config)
      1. copy  ssh_key_path: /home/ubuntu/onap_dev    (chmod 644 onap_dev)
      2. optionally attached file can be edited; change VM/IP and key  

        Code Block
        languageyml
        titlecluster.yml - v1.20
        collapsetrue
        # If you intened to deploy Kubernetes in an air-gapped environment,
        # please consult the documentation on how to configure custom RKE images.
        nodes:
        - address: localhost
          port: "22"
          internal_address: ""
          role:
          - controlplane
          - worker
          - etcd
          hostname_override: onap6-vv
          user: ubuntu
          docker_socket: /var/run/docker.sock
          ssh_key: ""
          ssh_key_path: /home/ubuntu/setup/onap_dev
          ssh_cert: ""
          ssh_cert_
      rke config (to specifiy cluster config)
      1. optionally attached file can be edited; change VM/IP and key  

        Code Block
        languageyml
        titlecluster.yml
        collapsetrue
        # If you intened to deploy Kubernetes in an air-gapped environment,
        # please consult the documentation on how to configure custom RKE images.
        nodes:
        - address: localhost
          port: "22"
          internal_address: ""
          role:
          - controlplane
          - worker
          - etcd
          hostname_override: onap6-vv
          user: ubuntu
          docker_socket: /var/run/docker.sock
          ssh_key: ""
          ssh_key_path: /home/ubuntu/setup/onap_dev
          ssh_cert: ""
          ssh_cert_path: ""
          labels: {}
          taints: []
        services:
          etcd:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            external_urls: []
            ca_cert: ""
            cert: ""
            key: ""
            path: ""
            uidlabels: 0{}
            gid: 0taints: []
        services:
            snapshotetcd: null
            retentionimage: ""
            creationextra_args: ""{}
            backupextra_configbinds: null[]
          kube-api:  extra_env: []
            image: ""
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            winexternal_extra_argsurls: {}[]
            winca_extra_bindscert: []""
            win_extra_envcert: []""
            service_cluster_ip_range: 10.43.0.0/16key: ""
            service_node_port_rangepath: ""
            pod_security_policyuid: false0
            always_pull_images: falsegid: 0
            secrets_encryption_configsnapshot: null
            audit_logretention: null""
            admission_configurationcreation: null""
            eventbackup_rate_limitconfig: null
          kube-controllerapi:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            service_cluster_cidrip_range: 10.4243.0.0/16
            service_clusternode_ipport_range: 10.43.0.0/16
          scheduler:""
            imagepod_security_policy: ""false
            extraalways_pull_argsimages: {}false
            extra_binds: []
            extra_env: []secrets_encryption_config: null
            winaudit_extra_argslog: {}null
            winadmission_extra_bindsconfiguration: []null
            winevent_extrarate_envlimit: []null
          kubeletkube-controller:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            cluster_domaincidr: cluster.local10.42.0.0/16
            infra_container_image: ""
            service_cluster_dnsip_serverrange: 10.43.0.100/16
            fail_swap_on: falsescheduler:
            generate_serving_certificate: false
          kubeproxy:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
        network  kubelet:
          plugin: canal
          optionsimage: {}""
          mtu: 0
          nodeextra_selectorargs: {}
          update_strategy: null
          tolerationsextra_binds: []
        authentication:
          strategy: x509
          sansextra_env: []
          webhook: null
        addons: ""
        addons_include  win_extra_args: {}
            win_extra_binds: []
        system_images:
          etcd: rancher/mirrored-coreos-etcd:v3.4.15-rancher1
          alpine: rancher/rke-tools:v0.1.74
          nginx_proxy: rancher/rke-tools:v0.1.74
          cert_downloader: rancher/rke-tools:v0.1.74
          kubernetes_services_sidecar: rancher/rke-tools:v0.1.74
          kubedns: rancher/mirrored-k8s-dns-kube-dns:1.15.10
          dnsmasq: rancher/mirrored-k8s-dns-dnsmasq-nanny:1.15.10
          kubedns_sidecar: rancher/mirrored-k8s-dns-sidecar:1.15.10
          kubedns_autoscaler: rancher/mirrored-cluster-proportional-autoscaler:1.8.1
          coredns: rancher/mirrored-coredns-coredns:1.8.0
          coredns_autoscaler: rancher/mirrored-cluster-proportional-autoscaler:1.8.1
          nodelocal: rancher/mirrored-k8s-dns-node-cache:1.15.13
          kubernetes: rancher/hyperkube:v1.20.6-rancher1
          flannel: rancher/coreos-flannel:v0.13.0-rancher1
          flannel_cni: rancher/flannel-cni:v0.3.0-rancher6
          calico_node: rancher/mirrored-calico-node:v3.17.2
          calico_cni: rancher/mirrored-calico-cni:v3.17.2
          calico_controllers: rancher/mirrored-calico-kube-controllers:v3.17.2
          calico_ctl: rancher/mirrored-calico-ctl:v3.17.2
          calico_flexvol: rancher/mirrored-calico-pod2daemon-flexvol:v3.17.2
          canal_node: rancher/mirrored-calico-node:v3.17.2
          canal_cni: rancher/mirrored-calico-cni:v3.17.2
          canal_controllers: rancher/mirrored-calico-kube-controllers:v3.17.2
          canal_flannel: rancher/coreos-flannel:v0.13.0-rancher1
          canal_flexvol: rancher/mirrored-calico-pod2daemon-flexvol:v3.17.2
          weave_node: weaveworks/weave-kube:2.8.1
          weave_cni: weaveworks/weave-npc:2.8.1
          pod_infra_container: rancher/mirrored-pause:3.2
          ingress: rancher/nginx-ingress-controller:nginx-0.43.0-rancher3
          ingress_backend: rancher/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher1
          metrics_server: rancher/mirrored-metrics-server:v0.4.1
          windows_pod_infra_container: rancher/kubelet-pause:v0.1.6
          aci_cni_deploy_container: noiro/cnideploy:5.1.1.0.1ae238a
          aci_host_container: noiro/aci-containers-host:5.1.1.0.1ae238a
          aci_opflex_container: noiro/opflex:5.1.1.0.1ae238a
          aci_mcast_container: noiro/opflex:5.1.1.0.1ae238a
          aci_ovs_container: noiro/openvswitch:5.1.1.0.1ae238a
          aci_controller_container: noiro/aci-containers-controller:5.1.1.0.1ae238a
          aci_gbp_server_container: noiro/gbp-server:5.1.1.0.1ae238a
          aci_opflex_server_container: noiro/opflex-server:5.1.1.0.1ae238a
        ssh_key_path: /home/ubuntu/onap_dev
        ssh_cert_path: ""
        ssh_agent_auth: false
        authorization:
          mode: rbac
          options: {}
        ignore_docker_version: null
        kubernetes_version: ""
        private_registries: []
        ingress:
          provider: ""
          options: {}
          node_selector: {}
          extra_args: {}
          dns_policy: ""
          extra_envs: []
          extra_volumes: []
          extra_volume_mounts: []
          update_strategy: null
          http_port: 0
          https_port: 0
          network_mode: ""
          tolerations: []
          default_backend: null
          default_http_backend_priority_class_name: ""
          nginx_ingress_controller_priority_class_name: ""
        cluster_name: ""
        cloud_provider:
          name: ""
        prefix_path: ""
        win_prefix_path: ""
        addon_job_timeout: 0
        bastion_host:
          address: ""
          port: ""
          user: ""
          ssh_key: ""
          ssh_key_path: ""
          ssh_cert: ""
          ssh_cert_path: ""
        monitoring:
          provider: ""
          options: {}
          node_selector: {}    win_extra_env: []
            cluster_domain: cluster.local
            infra_container_image: ""
            cluster_dns_server: 10.43.0.10
            fail_swap_on: false
            generate_serving_certificate: false
          kubeproxy:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
        network:
          plugin: canal
          options: {}
          mtu: 0
          node_selector: {}
          update_strategy: null
          tolerations: []
        authentication:
          strategy: x509
          sans: []
          webhook: null
        addons: ""
        addons_include: []
        system_images:
          etcd: rancher/mirrored-coreos-etcd:v3.4.15-rancher1
          alpine: rancher/rke-tools:v0.1.74
          nginx_proxy: rancher/rke-tools:v0.1.74
          cert_downloader: rancher/rke-tools:v0.1.74
          kubernetes_services_sidecar: rancher/rke-tools:v0.1.74
          kubedns: rancher/mirrored-k8s-dns-kube-dns:1.15.10
          dnsmasq: rancher/mirrored-k8s-dns-dnsmasq-nanny:1.15.10
          kubedns_sidecar: rancher/mirrored-k8s-dns-sidecar:1.15.10
          kubedns_autoscaler: rancher/mirrored-cluster-proportional-autoscaler:1.8.1
          coredns: rancher/mirrored-coredns-coredns:1.8.0
          coredns_autoscaler: rancher/mirrored-cluster-proportional-autoscaler:1.8.1
          nodelocal: rancher/mirrored-k8s-dns-node-cache:1.15.13
          kubernetes: rancher/hyperkube:v1.20.6-rancher1
          flannel: rancher/coreos-flannel:v0.13.0-rancher1
          flannel_cni: rancher/flannel-cni:v0.3.0-rancher6
          calico_node: rancher/mirrored-calico-node:v3.17.2
          calico_cni: rancher/mirrored-calico-cni:v3.17.2
          calico_controllers: rancher/mirrored-calico-kube-controllers:v3.17.2
          calico_ctl: rancher/mirrored-calico-ctl:v3.17.2
          calico_flexvol: rancher/mirrored-calico-pod2daemon-flexvol:v3.17.2
          canal_node: rancher/mirrored-calico-node:v3.17.2
          canal_cni: rancher/mirrored-calico-cni:v3.17.2
          canal_controllers: rancher/mirrored-calico-kube-controllers:v3.17.2
          canal_flannel: rancher/coreos-flannel:v0.13.0-rancher1
          canal_flexvol: rancher/mirrored-calico-pod2daemon-flexvol:v3.17.2
          weave_node: weaveworks/weave-kube:2.8.1
          weave_cni: weaveworks/weave-npc:2.8.1
          pod_infra_container: rancher/mirrored-pause:3.2
          ingress: rancher/nginx-ingress-controller:nginx-0.43.0-rancher3
          ingress_backend: rancher/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher1
          metrics_server: rancher/mirrored-metrics-server:v0.4.1
          windows_pod_infra_container: rancher/kubelet-pause:v0.1.6
          aci_cni_deploy_container: noiro/cnideploy:5.1.1.0.1ae238a
          aci_host_container: noiro/aci-containers-host:5.1.1.0.1ae238a
          aci_opflex_container: noiro/opflex:5.1.1.0.1ae238a
          aci_mcast_container: noiro/opflex:5.1.1.0.1ae238a
          aci_ovs_container: noiro/openvswitch:5.1.1.0.1ae238a
          aci_controller_container: noiro/aci-containers-controller:5.1.1.0.1ae238a
          aci_gbp_server_container: noiro/gbp-server:5.1.1.0.1ae238a
          aci_opflex_server_container: noiro/opflex-server:5.1.1.0.1ae238a
        ssh_key_path: /home/ubuntu/onap_dev
        ssh_cert_path: ""
        ssh_agent_auth: false
        authorization:
          mode: rbac
          options: {}
        ignore_docker_version: null
        kubernetes_version: ""
        private_registries: []
        ingress:
          provider: ""
          options: {}
          node_selector: {}
          extra_args: {}
          dns_policy: ""
          extra_envs: []
          extra_volumes: []
          extra_volume_mounts: []
          update_strategy: null
          replicashttp_port: null0
          tolerationshttps_port: []0
          metrics_server_priority_class_namenetwork_mode: ""
        restore:
          restoretolerations: false[]
          snapshot_default_backend: null
          default_http_backend_priority_class_name: ""
        rotate_encryption_key: false
        dns: null
        
        
    7. sudo apt-get update; sudo apt install docker.io
    8. sudo usermod -a -G docker ubuntu
    9.  rke up

    10.  docker ps

      1.   nginx_ingress_controller_priority_class_name: ""
        cluster_name: ""
        cloud_provider:
          name: ""
        prefix_path: ""
        win_prefix_path: ""
        addon_job_timeout: 0
        bastion_host:
          address: ""
          port: ""
          user: ""
          ssh_key: ""
          ssh_key_path: ""
          ssh_cert: ""
          ssh_cert_path: ""
        monitoring:
          provider: ""
          options: {}
          node_selector: {}
          update_strategy: null
          replicas: null
          tolerations: []
          metrics_server_priority_class_name: ""
        restore:
          restore: false
          snapshot_name: ""
        rotate_encryption_key: false
        dns: null
        
        



        Code Block
        languageyml
        titlecluster.yml - v1.22
        collapsetrue
        # If you intended to deploy Kubernetes in an air-gapped environment,
        # please consult the documentation on how to configure custom RKE images.
        nodes:
        - address: localhost
          port: "22"
          internal_address: ""
          role:
          - controlplane
          - worker
          - etcd
          hostname_override: ""
          user: ubuntu
          docker_socket: /var/run/docker.sock
          ssh_key: ""
          ssh_key_path: /home/ubuntu/onap_dev
          ssh_cert: ""
          ssh_cert_path: ""
          labels: {}
          taints: []
        services:
          etcd:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            external_urls: []
            ca_cert: ""
            cert: ""
            key: ""
            path: ""
            uid: 0
            gid: 0
            snapshot: null
            retention: ""
            creation: ""
            backup_config: null
          kube-api:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            service_cluster_ip_range: 10.43.0.0/16
            service_node_port_range: ""
            pod_security_policy: false
            always_pull_images: false
            secrets_encryption_config: null
            audit_log: null
            admission_configuration: null
            event_rate_limit: null
          kube-controller:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            cluster_cidr: 10.42.0.0/16
            service_cluster_ip_range: 10.43.0.0/16
          scheduler:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
          kubelet:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            cluster_domain: cluster.local
            infra_container_image: ""
            cluster_dns_server: 10.43.0.10
            fail_swap_on: false
            generate_serving_certificate: false
          kubeproxy:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
        network:
          plugin: canal
          options: {}
          mtu: 0
          node_selector: {}
          update_strategy: null
          tolerations: []
        authentication:
          strategy: x509
          sans: []
          webhook: null
        addons: ""
        addons_include: []
        system_images:
          etcd: rancher/mirrored-coreos-etcd:v3.5.0
          alpine: rancher/rke-tools:v0.1.78
          nginx_proxy: rancher/rke-tools:v0.1.78
          cert_downloader: rancher/rke-tools:v0.1.78
          kubernetes_services_sidecar: rancher/rke-tools:v0.1.78
          kubedns: rancher/mirrored-k8s-dns-kube-dns:1.17.4
          dnsmasq: rancher/mirrored-k8s-dns-dnsmasq-nanny:1.17.4
          kubedns_sidecar: rancher/mirrored-k8s-dns-sidecar:1.17.4
          kubedns_autoscaler: rancher/mirrored-cluster-proportional-autoscaler:1.8.3
          coredns: rancher/mirrored-coredns-coredns:1.8.6
          coredns_autoscaler: rancher/mirrored-cluster-proportional-autoscaler:1.8.5
          nodelocal: rancher/mirrored-k8s-dns-node-cache:1.21.1
          kubernetes: rancher/hyperkube:v1.22.6-rancher1
          flannel: rancher/mirrored-coreos-flannel:v0.15.1
          flannel_cni: rancher/flannel-cni:v0.3.0-rancher6
          calico_node: rancher/mirrored-calico-node:v3.21.1
          calico_cni: rancher/mirrored-calico-cni:v3.21.1
          calico_controllers: rancher/mirrored-calico-kube-controllers:v3.21.1
          calico_ctl: rancher/mirrored-calico-ctl:v3.21.1
          calico_flexvol: rancher/mirrored-calico-pod2daemon-flexvol:v3.21.1
          canal_node: rancher/mirrored-calico-node:v3.21.1
          canal_cni: rancher/mirrored-calico-cni:v3.21.1
          canal_controllers: rancher/mirrored-calico-kube-controllers:v3.21.1
          canal_flannel: rancher/mirrored-coreos-flannel:v0.15.1
          canal_flexvol: rancher/mirrored-calico-pod2daemon-flexvol:v3.21.1
          weave_node: weaveworks/weave-kube:2.8.1
          weave_cni: weaveworks/weave-npc:2.8.1
          pod_infra_container: rancher/mirrored-pause:3.5
          ingress: rancher/nginx-ingress-controller:nginx-1.1.0-rancher1
          ingress_backend: rancher/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher1
          ingress_webhook: rancher/mirrored-ingress-nginx-kube-webhook-certgen:v1.1.1
          metrics_server: rancher/mirrored-metrics-server:v0.5.1
          windows_pod_infra_container: rancher/kubelet-pause:v0.1.6
          aci_cni_deploy_container: noiro/cnideploy:5.1.1.0.1ae238a
          aci_host_container: noiro/aci-containers-host:5.1.1.0.1ae238a
          aci_opflex_container: noiro/opflex:5.1.1.0.1ae238a
          aci_mcast_container: noiro/opflex:5.1.1.0.1ae238a
          aci_ovs_container: noiro/openvswitch:5.1.1.0.1ae238a
          aci_controller_container: noiro/aci-containers-controller:5.1.1.0.1ae238a
          aci_gbp_server_container: noiro/gbp-server:5.1.1.0.1ae238a
          aci_opflex_server_container: noiro/opflex-server:5.1.1.0.1ae238a
        ssh_key_path: ~/.ssh/id_rsa
        ssh_cert_path: ""
        ssh_agent_auth: false
        authorization:
          mode: rbac
          options: {}
        ignore_docker_version: null
        enable_cri_dockerd: null
        kubernetes_version: ""
        private_registries: []
        ingress:
          provider: ""
          options: {}
          node_selector: {}
          extra_args: {}
          dns_policy: ""
          extra_envs: []
          extra_volumes: []
          extra_volume_mounts: []
          update_strategy: null
          http_port: 0
          https_port: 0
          network_mode: ""
          tolerations: []
          default_backend: null
          default_http_backend_priority_class_name: ""
          nginx_ingress_controller_priority_class_name: ""
          default_ingress_class: null
        cluster_name: ""
        cloud_provider:
          name: ""
        prefix_path: ""
        win_prefix_path: ""
        addon_job_timeout: 0
        bastion_host:
          address: ""
          port: ""
          user: ""
          ssh_key: ""
          ssh_key_path: ""
          ssh_cert: ""
          ssh_cert_path: ""
          ignore_proxy_env_vars: false
        monitoring:
          provider: ""
          options: {}
          node_selector: {}
          update_strategy: null
          replicas: null
          tolerations: []
          metrics_server_priority_class_name: ""
        restore:
          restore: false
          snapshot_name: ""
        rotate_encryption_key: false
        dns: null
          


        Code Block
        languageyml
        titlecluster.yml - v1.23.6
        collapsetrue
        # If you intended to deploy Kubernetes in an air-gapped environment,
        # please consult the documentation on how to configure custom RKE images.
        nodes:
        - address: 10.15.100.108
          port: "22"
          internal_address: ""
          role:
          - controlplane
          - worker
          - etcd
          hostname_override: ""
          user: ubuntu
          docker_socket: /var/run/docker.sock
          ssh_key: ""
          ssh_key_path: /home/ubuntu/onap_dev
          ssh_cert: ""
          ssh_cert_path: ""
          labels: {}
          taints: []
        services:
          etcd:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            external_urls: []
            ca_cert: ""
            cert: ""
            key: ""
            path: ""
            uid: 0
            gid: 0
            snapshot: null
            retention: ""
            creation: ""
            backup_config: null
          kube-api:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            service_cluster_ip_range: 10.43.0.0/16
            service_node_port_range: ""
            pod_security_policy: false
            always_pull_images: false
            secrets_encryption_config: null
            audit_log: null
            admission_configuration: null
            event_rate_limit: null
          kube-controller:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            cluster_cidr: 10.42.0.0/16
            service_cluster_ip_range: 10.43.0.0/16
          scheduler:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
          kubelet:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
            cluster_domain: cluster.local
            infra_container_image: ""
            cluster_dns_server: 10.43.0.10
            fail_swap_on: false
            generate_serving_certificate: false
          kubeproxy:
            image: ""
            extra_args: {}
            extra_binds: []
            extra_env: []
            win_extra_args: {}
            win_extra_binds: []
            win_extra_env: []
        network:
          plugin: canal
          options: {}
          mtu: 0
          node_selector: {}
          update_strategy: null
          tolerations: []
        authentication:
          strategy: x509
          sans: []
          webhook: null
        addons: ""
        addons_include: []
        system_images:
          etcd: rancher/mirrored-coreos-etcd:v3.5.3
          alpine: rancher/rke-tools:v0.1.80
          nginx_proxy: rancher/rke-tools:v0.1.80
          cert_downloader: rancher/rke-tools:v0.1.80
          kubernetes_services_sidecar: rancher/rke-tools:v0.1.80
          kubedns: rancher/mirrored-k8s-dns-node-cache:1.21.1
          dnsmasq: rancher/mirrored-k8s-dns-dnsmasq-nanny:1.21.1
          kubedns_sidecar: rancher/mirrored-k8s-dns-sidecar:1.21.1
          kubedns_autoscaler: rancher/mirrored-cluster-proportional-autoscaler:1.8.5
          coredns: rancher/mirrored-coredns-coredns:1.9.0
          coredns_autoscaler: rancher/mirrored-cluster-proportional-autoscaler:1.8.5
          nodelocal: rancher/mirrored-k8s-dns-node-cache:1.21.1
          kubernetes: rancher/hyperkube:v1.23.6-rancher1
          flannel: rancher/mirrored-coreos-flannel:v0.15.1
          flannel_cni: rancher/flannel-cni:v0.3.0-rancher6
          calico_node: rancher/mirrored-calico-node:v3.22.0
          calico_cni: rancher/mirrored-calico-cni:v3.22.0
          calico_controllers: rancher/mirrored-calico-kube-controllers:v3.22.0
          calico_ctl: rancher/mirrored-calico-ctl:v3.22.0
          calico_flexvol: rancher/mirrored-calico-pod2daemon-flexvol:v3.22.0
          canal_node: rancher/mirrored-calico-node:v3.22.0
          canal_cni: rancher/mirrored-calico-cni:v3.22.0
          canal_controllers: rancher/mirrored-calico-kube-controllers:v3.22.0
          canal_flannel: rancher/mirrored-flannelcni-flannel:v0.17.0
          canal_flexvol: rancher/mirrored-calico-pod2daemon-flexvol:v3.22.0
          weave_node: weaveworks/weave-kube:2.8.1
          weave_cni: weaveworks/weave-npc:2.8.1
          pod_infra_container: rancher/mirrored-pause:3.6
          ingress: rancher/nginx-ingress-controller:nginx-1.2.0-rancher1
          ingress_backend: rancher/mirrored-nginx-ingress-controller-defaultbackend:1.5-rancher1
          ingress_webhook: rancher/mirrored-ingress-nginx-kube-webhook-certgen:v1.1.1
          metrics_server: rancher/mirrored-metrics-server:v0.6.1
          windows_pod_infra_container: rancher/mirrored-pause:3.6
          aci_cni_deploy_container: noiro/cnideploy:5.1.1.0.1ae238a
          aci_host_container: noiro/aci-containers-host:5.1.1.0.1ae238a
          aci_opflex_container: noiro/opflex:5.1.1.0.1ae238a
          aci_mcast_container: noiro/opflex:5.1.1.0.1ae238a
          aci_ovs_container: noiro/openvswitch:5.1.1.0.1ae238a
          aci_controller_container: noiro/aci-containers-controller:5.1.1.0.1ae238a
          aci_gbp_server_container: noiro/gbp-server:5.1.1.0.1ae238a
          aci_opflex_server_container: noiro/opflex-server:5.1.1.0.1ae238a
        ssh_key_path: /home/ubuntu/onap_dev
        ssh_cert_path: ""
        ssh_agent_auth: false
        authorization:
          mode: rbac
          options: {}
        ignore_docker_version: null
        enable_cri_dockerd: null
        kubernetes_version: ""
        private_registries: []
        ingress:
          provider: ""
          options: {}
          node_selector: {}
          extra_args: {}
          dns_policy: ""
          extra_envs: []
          extra_volumes: []
          extra_volume_mounts: []
          update_strategy: null
          http_port: 0
          https_port: 0
          network_mode: ""
          tolerations: []
          default_backend: null
          default_http_backend_priority_class_name: ""
          nginx_ingress_controller_priority_class_name: ""
          default_ingress_class: null
        cluster_name: ""
        cloud_provider:
          name: ""
        prefix_path: ""
        win_prefix_path: ""
        addon_job_timeout: 0
        bastion_host:
          address: ""
          port: ""
          user: ""
          ssh_key: ""
          ssh_key_path: ""
          ssh_cert: ""
          ssh_cert_path: ""
          ignore_proxy_env_vars: false
        monitoring:
          provider: ""
          options: {}
          node_selector: {}
          update_strategy: null
          replicas: null
          tolerations: []
          metrics_server_priority_class_name: ""
        restore:
          restore: false
          snapshot_name: ""
        rotate_encryption_key: false
        dns: null
           


    11. sudo apt-get update; sudo apt install docker.io
    12. sudo usermod -a -G docker ubuntu
    13.  rke up

    14.  docker ps

    15. Switch to root (sudo su -)
    16.  Install helm - https://wiki.onap.org/display/DW/Setup+helm3+for+oom

      1. Export required helm version

       Install helm - https://wiki.onap.org/display/DW/Setup+helm3+for+oom

      1. sudo snap install helm --classic --channel=3.5/stable

      2. export HELM_VERSION=v3.5.2  # Honolulu 

      3. export HELM_VERSION=v3.5.4  # Istanbul  - wget
        1. export HELM_VERSION=v3.5.2  # Honolulu 
        2. export HELM_VERSION=v3.5.4  # Istanbul  - wget https://get.helm.sh/helm-v3.5.4-linux-amd64.tar.gz
        3. export HELM_VERSION=v3.6.3  # Jakarta  - wget https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
        4. export HELM_VERSION=v3.8.2  # Kohn- wget
        1. https://get.helm.sh/helm-v3.
        5
        1. 8.
        4
        1. 2-linux-amd64.tar.gz
      4.  wget https://get.helm.sh/helm-$HELM_VERSION-linux-amd64.tar.gz
      5.  tar -zxvf helm-$HELM_VERSION-linux-amd64.tar.gz
      6.  sudo mv linux-amd64/helm /usr/local/bin/helm-$HELM_VERSION
      7.  sudo rm /usr/local/bin/helm
      8.  sudo ln -s /usr/local/bin/helm-$HELM_VERSION /usr/local/bin/helm

       helm version

      1.  helm plugin install https://github.com/chartmuseum/helm-push.git/usr/local/bin/helm
    17. Setup kubectl
      1. cd 
      2. curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
      3. chmod +x ./kubectl
      4. sudo mv ./kubectl /usr/local/bin/kubectl
      5. mkdir .kube
      6. cp /home/ubuntu/setup/kube_config_cluster.yml .kube/config

      Install chart museum

      1. curl https://raw.githubusercontent.com/helm/chartmuseum/main/scripts/get-chartmuseum | bash

    18. mkdir ~/chartstorage

    19.  nohup chartmuseum --debug --port=8080   --storage="local"   --storage-local-rootdir="~/chartstorage"  &

    20.  helm repo add local http://localhost:8080

    21. helmsearchrepoonap
    22. sudo mkdir  /var/lib/docker/postgres

      1.  sudo docker-compose up -d

      2.  apt  install docker-compose

      3.  sudo docker-compose up -d

      4.  export HELM_DRIVER=sql

      5.  export HELM_DRIVER_SQL_CONNECTION_STRING=postgresql://helm:changeme@localhost:5432/helm?sslmode=disable

    23.  vi cluster.rkestate
       chmod 755 cluster.rkestate
       mkdir .kube
       cp -p /home/ubuntu/kube_config_cluster.yml .kube/config

    24. helm list

    25. chmod 700 /root/.kube/config

    26. sudo snap install kubectl --classic --channel=1.19/stable

    ...

    1. helm list

    2. chmod 700 /root/.kube/config


    ONAP Installation

    (Extract from https://docs.onap.org/projects/onap-oom/en/latest/oom_quickstart_guide.html)

    (as root user)

    1.  git clone -b <BRANCH> http://gerrit.onap.org/r/oom --recurse-submodules    <oom.yymmdd>
      1. ln -s <oom.yymmdd> oom
    2. Helm plugin install
      1. Jakarta - helm plugin install https://github.com/chartmuseum/helm-push.git --version 0.9.0
      2. Kohn - helm plugin install https://github.com/chartmuseum/helm-push.git --version v0.10.3
    3. cp -R ~/oom/kubernetes/helm/plugins/* ~/.local/share/helm/plugins/
    4. curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum; chmod +x ./chartmuseum ;  mv ./chartmuseum /usr/local/bin

    5. chartmuseum --storage local --storage-local-rootdir ~/helm3-storage -port 8879 &

    6. helm repo add local http://127.0.0.1:8879

    7. helm repo list

    8. apt install make
    9. cd oom/kubernetes/
    10. make SKIP_LINT=TRUE all; make SKIP_LINT=TRUE onap

    11. Install Strimzi Kafka operator  (from Step 4.1 - https://docs.onap.org/projects/onap-oom/en/latest/oom_quickstart_guide.html)

    ...

    1.  git clone -b <BRANCH> http://gerrit.onap.org/r/oom --recurse-submodules    <oom.yymmdd>
      1. ln -s <oom.yymmdd> oom
      helm plugin install
      helm repo add strimzi https://
      github
      strimzi.
      com
      io/
      chartmuseum
      charts/
      helm
      -push.git
    2. cp -R ~/oom/kubernetes/helm/plugins/ ~/.local/share/helm/plugins/

    3. curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum > chmod +x ./chartmuseum > mv ./chartmuseum /usr/local/bin

    4. chartmuseum --storage local --storage-local-rootdir ~/helm3-storage -port 8879 &

    5. helm repo add local http://127.0.0.1:8879

    6. helm repo list

    7. make SKIP_LINT=TRUE all; make SKIP_LINT=TRUE onap

    8.  install strimzi-kafka-operator strimzi/strimzi-kafka-operator --namespace strimzi-system --version 0.28.0 --set watchAnyNamespace=true --create-namespace
      (use version 0.35.0 for London)

    9. helm deploy dev local/onap --namespace onap --create-namespace -f ~/onap6-override.yaml --set global.masterPassword=test1 --set global.pullPolicy=IfNotPresent

      1. Following needed for MOD
        helm install -name dev-chartmuseum local/chartmuseum -n onap  --create-namespace -f ~/UNH-onap2-override.yaml --set global.masterPassword=test1 --set global.pullPolicy=IfNotPresent
        Complete MOD deploy - DCAE MOD Flow for Helm Flow (Jakarta)

    Other command references

    1. helm install -name onap-dcaemod local/dcaemod -n onap  -f ~/UNH-onap2helm deploy dev local/onap --namespace onap --create-namespace -f ~/onap6-override.yaml --set global.masterPassword=test1 --set global.pullPolicy=IfNotPresent
    2. kubectl create namespace onap
    3. kubectl get pods -n onap

    4. helm list helm delete onap-dcaemod --namespace onap

    5. helm deploy undeploy onap local/onap --namespace onap -f ~/onap5-override.yaml
    6. helm install -name dev-slice-analysis -n onap .  -dcaemod localf ~/dcaemod onap-1-namespace onap override.yaml --set global.masterPassword=test1 --set global.pullPolicy=IfNotPresent
    7. helm delete onap-dcaemod --namespace onap

    8. helm undeploy onap --namespace onap

    reference



    External reference

    https://docs.onap.org/projects/onap-oom/en/latest/oom_quickstart_guide.htmll

    https://docs.onap.org/projects/onap-oom/en/latest/oom_cloud_setup_guide.html#cloud-setup-guide-label

    https://kifarunix.com/make-permanent-dns-changes-on-resolv-conf-in-linux/

    Deploy OOM and SDC (or ONAP) on a single VM with microk8s - Honolulu Setup

    Setup helm3 for oom

    https://docs.onap.org/projects/onap-oom/en/latest/oom_user_guide_helm3.html