[TOPIC] - Openshift
We have not tested the deployment of the Portainer for Kubernetes BETA version in Openshift.
Have any feedback about deploying and using the Portainer for Kubernetes BETA version in Openshift?
Discuss it here.
Hey @deviantony how you do ?
Just deploy it on my openshift 4.3 test cluster. I just replace the LoadBalancer Service by a ingress entry, as we got no load balancer service on premise In Openshift installs, we got a wildcard DNS on a domain like that: *.apps.clustername.mydomain.org
Look like that :
apiVersion: v1
kind: Namespace
metadata:
name: portainer
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: portainer-sa-clusteradmin
namespace: portainer
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: portainer-crb-clusteradmin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: portainer-sa-clusteradmin
namespace: portainer
---
apiVersion: v1
kind: Service
metadata:
name: portainer
namespace: portainer
spec:
#type: LoadBalancer
selector:
app: app-portainer
ports:
- name: http
protocol: TCP
port: 9000
targetPort: 9000
- name: edge
protocol: TCP
port: 8000
targetPort: 8000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: portainer
namespace: portainer
spec:
selector:
matchLabels:
app: app-portainer
template:
metadata:
labels:
app: app-portainer
spec:
serviceAccountName: portainer-sa-clusteradmin
containers:
- name: portainer
image: portainer/portainer-k8s-beta:linux-amd64
imagePullPolicy: Always
ports:
- containerPort: 9000
protocol: TCP
- containerPort: 8000
protocol: TCP
---
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
labels:
app: app-portainer
name: portainer
namespace: portainer
spec:
rules:
- host: portainer.apps.clustername.mydomain.org
http:
http:
paths:
- backend:
serviceName: portainer
servicePort: 9000
Seems to work great, i just navigate quickly on tabs. Seems to be slow as i think we query all objects on K8S (admin account), and openshift basic install got many objects, without any app deployed... As you can see :
kubectl get namespaces --all-namespaces | wc -l
63
kubectl get deployments --all-namespaces | wc -l
57
kubectl get daemonset --all-namespaces | wc -l
16
kubectl get statefulset --all-namespaces | wc -l
3
kubectl get pods --all-namespaces | wc -l
294
kubectl get configmap --all-namespaces | wc -l
325
kubectl get secret --all-namespaces | wc -l
1092
Hey @WTFKr0 thanks for the feedback ! Good to see it works fine on Openshift ! What's the Kubernetes version?
Yeah we're gonna investigate optimizations in future releases, that's a lot of Kubernetes resources :-)
Kubernetes Version: v1.16.2