Red Hat OpenShift is an enterprise-ready Kubernetes container platform built for an open hybrid cloud strategy, It provides a consistent application platform to manage hybrid cloud, multicloud, and edge deployments. StreamNative Private Cloud has supported to deploy and manage on the OpenShift platform, this page describes step-by-step installation.
Install StreamNative Operator
StreamNative Operator has certified as Red Hat OpenShift Operators, so users can easily install the sn-operator
through the OpenShift Web Console.
-
Navigate to OperatorHub page and search for sn-operator
.
-
Click the “Install” button and wait for the operator installation.
-
Navigate to the Secret page and switch to openshift-operators project.
-
Create the secret yaml with license token, you can refer the licenses for more details.
Create Security Context Constraint (SCC)
Before provision the Pulsar cluster, you need to configure the Security Context Constraints.
Provision Pulsar cluster
After creating the SCC, we can start provisioning the Pulsar cluster.
-
Navigate to the Project page and create a new project called “Pulsar”
-
Get into the Pulsar project and create workloads through yaml manifests.
apiVersion: k8s.streamnative.io/v1alpha1
kind: PulsarCoordinator
metadata:
name: private-cloud
namespace: pulsar
spec:
image: streamnative/private-cloud:3.1.1.1
---
apiVersion: zookeeper.streamnative.io/v1alpha1
kind: ZooKeeperCluster
metadata:
name: private-cloud
namespace: pulsar
labels:
k8s.streamnative.io/coordinator-name: private-cloud
spec:
image: streamnative/private-cloud:3.1.1.1
replicas: 3
pod:
resources:
requests:
cpu: 200m
memory: 512Mi
securityContext:
runAsNonRoot: true
persistence:
reclaimPolicy: Delete
---
apiVersion: bookkeeper.streamnative.io/v1alpha1
kind: BookKeeperCluster
metadata:
name: private-cloud
namespace: pulsar
labels:
k8s.streamnative.io/coordinator-name: private-cloud
spec:
image: streamnative/private-cloud:3.1.1.1
replicas: 3
zkServers: private-cloud-zk:2181
pod:
resources:
requests:
cpu: 200m
memory: 512Mi
securityContext:
runAsNonRoot: true
storage:
reclaimPolicy: Delete
---
apiVersion: pulsar.streamnative.io/v1alpha1
kind: PulsarBroker
metadata:
name: private-cloud
namespace: pulsar
labels:
k8s.streamnative.io/coordinator-name: private-cloud
spec:
image: streamnative/private-cloud:3.1.1.1
replicas: 3
zkServers: zookeepers-zk:2181
config:
clusterName: private-cloud
pod:
resources:
requests:
cpu: 200m
memory: 512Mi
securityContext:
runAsNonRoot: true
---
apiVersion: pulsar.streamnative.io/v1alpha1
kind: PulsarProxy
metadata:
name: private-cloud
namespace: pulsar
labels:
k8s.streamnative.io/coordinator-name: private-cloud
spec:
image: streamnative/private-cloud:3.1.1.1
replicas: 2
brokerAddress: private-cloud-broker
pod:
resources:
requests:
cpu: 200m
memory: 512Mi
securityContext:
runAsNonRoot: true
---
apiVersion: k8s.streamnative.io/v1alpha1
kind: Console
metadata:
name: private-cloud
namespace: pulsar
labels:
k8s.streamnative.io/coordinator-name: private-cloud
spec:
image: streamnative/private-cloud-console:v2.3.4
webServiceUrl: http://private-cloud-broker:8080
-
Wait for Pods up and running.