Giter Club home page Giter Club logo

apps's People

Contributors

4n4nd avatar anishasthana avatar bryanmontalvan avatar codificat avatar cooktheryan avatar durandom avatar dystewart avatar eletonia avatar erikerlandson avatar goern avatar gregory-pereira avatar harshad16 avatar hemajv avatar humairak avatar larsks avatar lorbuschris avatar margarethaley avatar mightynerderic avatar mubariskhan96 avatar oindrillac avatar rbo avatar redmikhail avatar revit13 avatar riprasad avatar robozome-op1st[bot] avatar samokopecky avatar shreyanand avatar skanthed avatar suppathak avatar tumido avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apps's Issues

Superset PVC error on moc

Superset is running into the following error on MOC:

running "VolumeBinding" filter plugin for pod "superset-1-f9zll": pod has unbound immediate PersistentVolumeClaims

The PVC shows the following error:

superset-data:
no persistent volumes available for this claim and no storage class is set

I'm guessing this is related to #22 - where JH had similar issues. But superset component doesn't seem to give the same method to change storage class via a parameter. We should try overriding this for now. If it works, suggest upstream to add a parameter to specify storage class.

Rename repository to be more general

Currently we don't have another repo to store non-odh related apps. In the broader scheme of things, from the perspective of operate-first, odh is just another app, and I don't think we really need to have this entire repo be dedicated to odh only.

I propose we change this repo to be more generic and rename it to operate-first-apps apps, and move the odh contents in to a sub directory.

Add Secrets to Kustomizations

Please link all secrets that will need to be added as part of the kustomize builds in this repository. Once we have our secrets-management infrastructure in place, we'll use this thread as an aggregate point to update all kustomizations that need to be updated.

Override Vs Overlay and CRD rejection issue

Related Issues:

Recently we've been coming across situations where we'd prefer to overlay instead of override resources. The difference being, when we overlay, we are having argocd deploy them, whereas with overriding in ODH, we have ODH deploy them.

Context:
So in some cases ODH deploys operators, which includes CRDs. Let's take for example KafkaTopics. Say I have ArgoCD deploy the KafkaTopics and a KFDef that deploys strimzi. Great, say ArgoCD tries to deploy KafkaTopics first, well it can't because it needs to deploy the KFDef first. So the application will fail.

We can use ArgoCD waves to tell ArgoCD to deploy our kfdef (and thus Strimzi) first, then deploy KafkaTopics second. This too will fail because the ODH operator needs to read the KFDEF and deploy the CRDs itself. So we need ODH to deploy to the KafkaTopics by using overrides if we want to prevent errors from showing up. \

Problem:
I personally don't know if ODH is at a point where we can confidently override certain resources and expect to have them be sync'ed immediately. I have personally encountered situations where ODH will take a while to update the resources, sometimes having to restart ODH itself. I would be interested to hear what your own experiences have been.

Another situation is, by being forced into override, we are forced into following the folder structure of the odh-manifests repo. For example if I want to override grafana dashboards, then I need to update this file here. But what if I want to add another dashboard? The way I understand it I would need to override the kustomization here. Okay, but then I have a kustomization, that looks like itt's pulling some files from this repo, and some files from another repo (and the other repo's existence isn't even clear right away by looking at this directory). It just seems messy to me.

Yet another issue is that we cannot see kfdef child resources any more, see here for more details. So we have no sync/visual control over these resources via argocd.

Namespace Structuring for ODH components

I'm not convinced that starting with a single namespace for all components makes sense. Per some discussions offline,

it makes moresense to deploy groups of components per namespace. i.e Jupyterhub + spark in one namespace, Superset + data catalog(once it's in) in another.

This way we can separate concerns per namespace. This will give us better control on quotas for namespaces/applications. It would also simplify management of the ODH (split logs across namespaces)

Create/Update prometheus monitors for different ODH components

First confirm with odh (likely via issue upstream) if there are plans to add such service monitors and the eta. Based on this feedback, we should discuss here whether we need to proceed with adding our own and sending them upstream.

[anishasthana] At a minimum, we should update/create monitoring for the following:

  • Jupyterhub
  • Kafka
  • Superset
  • Data Catalog (once it's in)
  • Argo
  • Airflow

Add proxy for Prometheus instances

Add a proxy to the prometheus instance so that only authenticated users have access to it.

This can be done by adding a proxy container to the Prometheus config:

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: odh-monitoring
  labels:
    app: prometheus
    prometheus: k8s
spec:
  serviceMonitorSelector: {}
  securityContext: {}
  ruleSelector: {}
  replicas: 2
  containers:
  - name: oauth-proxy
    image: openshift/oauth-proxy:latest
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 8443
      name: public
    args:
    - --https-address=:8443
    - --provider=openshift
    - --openshift-service-account=proxy
    - --upstream=http://localhost:9090
    - --tls-cert=/etc/tls/private/tls.crt
    - --tls-key=/etc/tls/private/tls.key
    - --cookie-secret=SECRET

Readme Out of Date

The repo has gone through an overhaul, and a lot of the path's/structure is currently out of date in the README.

Update Readme to include Override Procedure

As per the discussions in this issue thread here we should document / summarize the important bits of the discussion. Mainly we want to document the override process and include instructions on how one can override changes. We should also link to the examples presented and Vasek's blog post for further reading.

Promtheus needs SA with extra permissions

We encountered an issue where prometheus could not see alertmanager on one of the quicklab clusters. It seems this is because the default SA that Prometheus gets assigned to did not have sufficient permissions to see alertmanager. Assigning prometheus a serviceAccountName in the .spec of the prometheus CR where the SA had project admin permissions solved this issue.

Update Argo Monitoring for ODH

Related: #11

Upstream ODH already has prometheus monitors in place for Argo, but they haven't been updated in a long time. It's very possible that they don't correctly function any more / don't correctly grab metrics

[EPIC] Categorical encoding JH notebooks deployment

This is a master task for categorical encoding JH images deployment within the Operate First CD. The aim is to have a fully transparent, open source, deterministic deployment of a selected usecase.

Steps:

Separating environment specific details

We are already starting to see some moc specific implementation (e.g. storage class for JH #22 and possibly superset #35). We need a way to separate these out from general deployments.

We could separate them out into bases/overlays (where overlays have folders like moc and quicklab). The problem is then our argocd-apps repo will become environment specific (since we specify a path). As a solution we could also extend the base/overlays structure to the argocd-apps repo. That's one suggestion, open to other ideas.

Test out giving a single prom instance rbac to multi namespaces

Since the odh-dashboard requires a single component instance installed via kfdef to pick up it's route, it would be ideal if we could have only one odh deployed prometheus instance via one odh deployed prometheus operator.

This issue is to test out if we can have service/pod monitors all deployed in a single namespace like opf-monitoring then give rbac to a single prometheus instance to other namespaces like opf-jupyterhub and opf-argo and monitor them from a single source.

Grafana not deployed fully via ODH - missing from ODH Dashbard

ODH Dashboard requires all sub-components to be deployed in order to show the component on the Dashboard. We're violating that in our Grafana deployment, since we deploy only the grafana-cluster while grafana-operator is not deployed via kfdef and we rather use our own manifests for it. However that causes troubles for ODH Dahboard.

Solutions:

  1. Deploy it via kfdef and provide overrides
  2. Deploy dummy grafana-operator component to make ODH Dashboard happy.

I would prefer solution 1. WDYT?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.