Jump to content
  • Setting Up an AWS Application Load Balancer for WebFOCUS Container Edition Using the AWS Load Balancer Controller


    Ramanuj Kumar

    Introduction

    When deploying WebFOCUS Container Edition in an AWS EKS cluster, you can utilize the AWS Load Balancer Controller to create an Application Load Balancer.

     

    AWS Load Balancer Controller

    AWS Load Balancer Controller is a controller to help manage Elastic Load Balancers for a Kubernetes cluster.

    • It satisfies Kubernetes Ingress resources by provisioning Application Load Balancers.
    • It satisfies Kubernetes Service resources by provisioning Network Load Balancers.

    Enabling AWS load balancer controller in EKS cluster

    https://docs.aws.amazon.com/eks/latest/userguide/lbc-helm.html

     

    controller-design

    learn more about AWS load balancer controller here:

    https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/

     

    WebFOCUS CE deployment changes

    Following changes are required in wf.integ.yaml.gotmpl

    ingress:
      enabled: true
      annotations:
        kubernetes.io/ingress.class: "alb"
        alb.ingress.kubernetes.io/certificate-arn: <acm certificate url>
        alb.ingress.kubernetes.io/load-balancer-name: myingressalb
        alb.ingress.kubernetes.io/scheme: internet-facing
        alb.ingress.kubernetes.io/target-type: ip
        alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=600
        alb.ingress.kubernetes.io/ssl-redirect: '443'
      path: /*

     

    here alb ingress class in provided by AWS load balancer controller.

    Enabled session stickiness using annotations "stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=600"

    Update "platform.servingDomain" with your fully qualified domain name 

     

    Updating existing WebFOCUS CE installation

    update only appserver release

    helmfile -e dev --selector name=appserver sync

     

    Once sync is complete check appserver ingress defination, appserver Ingress looks like this:

    $kubectl -n webfocus get ing apserver -o yaml
     
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      annotations:
        alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-west-2:12345678:certificate/adaae1da-21b8-41ce-a801-eaf5afe80d7c
        alb.ingress.kubernetes.io/load-balancer-name: myingressalb
        alb.ingress.kubernetes.io/scheme: internet-facing
        alb.ingress.kubernetes.io/target-type: ip
        alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=60
        alb.ingress.kubernetes.io/ssl-redirect: '443'
        meta.helm.sh/release-name: appserver
        meta.helm.sh/release-namespace: webfocus
      finalizers:
      - ingress.k8s.aws/resources
      generation: 2
      labels:
        app.kubernetes.io/component: webfocus
        app.kubernetes.io/instance: appserver
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/name: appserver
        app.kubernetes.io/part-of: TIBCO-WebFOCUS
        app.kubernetes.io/version: 1.3.2
        helm.sh/chart: appserver-1.3.2
      name: appserver
      namespace: webfocus
    spec:
      ingressClassName: alb
      rules:
      - http:
          paths:
          - backend:
              service:
                name: appserver
                port:
                  name: port8080
            path: /*
            pathType: ImplementationSpecific

     

    Now you can access your application by updating security group to allow your IP to access https port 443

    Get ALB address from ingress definition

    $kubectl -n webfocus get ing
    NAME        CLASS   HOSTS   ADDRESS                                              PORTS   AGE
    appserver   alb     *       myingressalb-12345678.us-west-2.elb.amazonaws.com   80      16h

     

    in this case webfocus is accessible using url https://myingressalb-12345678.us-west-2.elb.amazonaws.com

    • Like 1

    User Feedback

    Recommended Comments

    There are no comments to display.


×
  • Create New...