Install the operator and ingress controller

Use Helm to install the operator and Traefik ingress controller.

First, install the operator.

  1. Create a namespace for the operator.

    $ kubectl create namespace sample-weblogic-operator-ns
    
  2. Create a service account for the operator in the operator’s namespace.

    $ kubectl create serviceaccount -n sample-weblogic-operator-ns sample-weblogic-operator-sa
    
  3. Set up Helm with the location of the operator Helm chart using this format: helm repo add <helm-chart-repo-name> <helm-chart-repo-url>

    $ helm repo add weblogic-operator https://oracle.github.io/weblogic-kubernetes-operator/charts --force-update  
    
  4. Install the operator using this format: helm install <helm-release-name> <helm-chart-repo-name>/weblogic-operator ...

    $ helm install sample-weblogic-operator weblogic-operator/weblogic-operator \
      --namespace sample-weblogic-operator-ns \
      --set serviceAccount=sample-weblogic-operator-sa \
      --wait
    

    This Helm release deploys the operator with the default behavior of managing Domains in all Kubernetes namespaces with the label weblogic-operator=enabled.

  5. Verify that the operator’s pod is running by listing the pods in the operator’s namespace. You should see one for the operator and one for the conversion webhook, a singleton Deployment in your Kubernetes cluster that automatically and transparently upgrades domain resources.

    $ kubectl get pods -n sample-weblogic-operator-ns
    
  6. Verify that the operator is up and running by viewing the operator pod’s log.

    $ kubectl logs -n sample-weblogic-operator-ns -c weblogic-operator deployments/weblogic-operator
    

Create a Traefik ingress controller.

  1. Set up Helm with the location of the Traefik Helm chart using this format: helm repo add <helm-chart-repo-name> <helm-chart-repo-url>

    $ helm repo add traefik https://helm.traefik.io/traefik --force-update
    
  2. Create a namespace for the ingress controller.

    $ kubectl create namespace traefik
    
  3. Install Traefik using this format: helm install <helm-release-name> <helm-chart-repo-name>/traefik ...

    $ helm install traefik-operator traefik/traefik \
        --namespace traefik \
        --set "ports.web.nodePort=30305" \
        --set "ports.websecure.nodePort=30443" \
        --set "kubernetes.namespaces={traefik}"
    

    This deploys the Traefik controller with plain text node port 30305, SSL node port 30443, and kubernetes.namespaces specifically set.