kubernetes-beta icon indicating copy to clipboard operation
kubernetes-beta copied to clipboard

[TOPIC] - Openshift

Open deviantony opened this issue 5 years ago • 3 comments

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.

deviantony avatar Mar 30 '20 22:03 deviantony

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

WTFKr0 avatar Mar 31 '20 21:03 WTFKr0

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 :-)

deviantony avatar Mar 31 '20 23:03 deviantony

Kubernetes Version: v1.16.2

WTFKr0 avatar Apr 01 '20 00:04 WTFKr0