Products | Versions |
---|---|
TIBCO LiveView Web | 1.6.2 and later |
How can I deploy a LiveView Web application in Kubernetes, and expose it to clients as a tcp service?
kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane kubeadmConfigPatches: - | kind: InitConfiguration nodeRegistration: kubeletExtraArgs: node-labels: "ingress-ready=true" extraPortMappings: - containerPort: 80 hostPort: 80 protocol: TCP - containerPort: 443 hostPort: 443 protocol: TCP
$ cat kind-ingress.yaml | kind create cluster --config=-
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
$ kubectl wait --namespace ingress-nginx --for=condition=ready pod --selector=app.kubernetes.io/component=controller --timeout=90s (wait for the 'condition met' message)
$ kind load docker-image sample_lv_sample_lvweb_app:0.0.1-SNAPSHOT
apiVersion: apps/v1 kind: Deployment metadata: name: lvweb-app-deployment labels: app: lvweb spec: replicas: 1 selector: matchLabels: app: lvweb template: metadata: labels: app: lvweb spec: containers: - name: lvweb-app image: sample_lv_sample_lvweb_app:0.0.1-SNAPSHOT imagePullPolicy: Never ports: - containerPort: 11080 env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: APPNAME value: samplelvsamplelvwebapp - name: STREAMING_NODENAME value: "$(POD_NAME).$(APPNAME)" --- kind: Service apiVersion: v1 metadata: name: lvweb-service spec: selector: app: lvweb ports: - port: 11880 targetPort: 11080 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: lvweb-ingress spec: rules: - http: paths: - pathType: Prefix path: "/" backend: service: name: lvweb-service port: number: 11880 ---
$ kubectl apply -f lvweb.yaml