Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update: devspaces, gpu, nfd operators #254

Merged
merged 14 commits into from
Nov 1, 2023
8 changes: 8 additions & 0 deletions .wordlist-md
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,14 @@ ClusterTask
CodeReady
DNS
Dev
DevSpaces
DevWorkspace
DevWorkspaces
Devfile
DotNET
Eventing
FullAccess
GPUs
Gi
GitOps
HTPasswd
Expand Down Expand Up @@ -101,6 +103,7 @@ arn
aws
canada
ceph
che
checluster
cicd
cli
Expand All @@ -112,10 +115,12 @@ configmap
datasource
deployable
dev
devfile
devspaces
devworkspace
devworkspaces
disableNameSuffixHash
dn
dns
dotnet
ec
Expand Down Expand Up @@ -180,6 +185,7 @@ prometheus
redhat
redistributions
repo
rhel
rhpds
runtime
sagemaker
Expand All @@ -194,8 +200,10 @@ sublicense
tekton
templating
thanos
traefik
truly
vSphere
vscode
vsphere
wordlist
workspaces
Expand Down
34 changes: 34 additions & 0 deletions devspaces/NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# General Notes

## Key images

Init containers

```
# che / vscode image
registry.redhat.io/devspaces/code-rhel8
# init container copies bins to `/checode`

# project clone
registry.redhat.io/devworkspace/devworkspace-project-clone-rhel8
```

Other containers

```
# che gateway
registry.redhat.io/devspaces/traefik-rhel8

# developer tools
https://github.com/devfile/developer-images

# che docs
https://eclipse.dev/che/docs/stable/overview/introduction-to-eclipse-che/
https://github.com/eclipse/che
```

Dashboard / devfile registry

```
https://github.com/eclipse-che/che-devfile-registry
```
9 changes: 9 additions & 0 deletions devspaces/aggregate/overlays/default/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

commonAnnotations:
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true

resources:
- ../../../instance/overlays/default
- ../../../operator/overlays/stable
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

commonAnnotations:
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true

resources:
- ../../../instance/overlays/timeout-12m
- ../../../operator/overlays/stable
63 changes: 63 additions & 0 deletions devspaces/instance/base/checluster.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
apiVersion: org.eclipse.che/v2
kind: CheCluster
metadata:
annotations:
argocd.argoproj.io/sync-wave: "5"
name: devspaces
spec:
components:
cheServer:
debug: false
logLevel: INFO
extraProperties:
CHE_SYSTEM_ADMIN__NAME: 'opentlc-mgr'
dashboard:
headerMessage:
show: false
text: >-
It's time to get your Dev on!
# database:
# credentialsSecretName: postgres-credentials
# externalDb: false
# postgresDb: devspaces
# # BUG: can not change postgresHostNamae
# postgresHostName: postgres
# postgresPort: '5432'
# pvc:
# claimSize: 1Gi
devfileRegistry:
# deployment:
# containers:
# - name: devfile-registry
# # image: quay.io/eclipse/che-devfile-registry:next
# image: registry.redhat.io/devspaces/devfileregistry-rhel8:latest
externalDevfileRegistries:
- url: https://eclipse-che.github.io/che-devfile-registry/main
metrics:
enable: true
# pluginRegistry:

Check warning on line 38 in devspaces/instance/base/checluster.yaml

View workflow job for this annotation

GitHub Actions / lint-yaml

38:5 [comments-indentation] comment not indented like content
# openVSXURL: "https://open-vsx.org"
# openVSXURL: "https://marketplace.visualstudio.com"
containerRegistry: {}
devEnvironments:
startTimeoutSeconds: 180
secondsOfRunBeforeIdling: -1
maxNumberOfRunningWorkspacesPerUser: 2
maxNumberOfWorkspacesPerUser: -1
containerBuildConfiguration:
openShiftSecurityContextConstraint: container-build
disableContainerBuildCapabilities: true
defaultEditor: che-incubator/che-code/latest
# defaultComponents:
# - container:
# sourceMapping: /projects
# image: registry.redhat.io/devspaces/udi-rhel8:latest
# name: universal-developer-image
defaultNamespace:
autoProvision: true
template: workspace-<username>
secondsOfInactivityBeforeIdling: 1800
storage:
pvcStrategy: per-user
gitServices: {}
networking: {}
9 changes: 9 additions & 0 deletions devspaces/instance/base/devworkspace-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
apiVersion: controller.devfile.io/v1alpha1
kind: DevWorkspaceOperatorConfig
metadata:
name: devworkspace-config
config:
workspace:
# kludge: allow cluster autoscaling
ignoredUnrecoverableEvents:
- FailedScheduling
12 changes: 12 additions & 0 deletions devspaces/instance/base/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

commonLabels:
component: devspaces

namespace: devspaces

resources:
- checluster.yaml
- devworkspace-config.yaml
- namespace.yaml
7 changes: 7 additions & 0 deletions devspaces/instance/base/namespace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: v1
kind: Namespace
metadata:
name: devspaces
annotations:
openshift.io/display-name: "DevSpaces Infra"
argocd.argoproj.io/sync-wave: "0"
13 changes: 13 additions & 0 deletions devspaces/instance/base/network-policy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-from-openshift-devspaces
spec:
ingress:
- from:
- namespaceSelector:
matchLabels:
kubernetes.io/metadata.name: openshift-devspaces
podSelector: {}
policyTypes:
- Ingress
3 changes: 3 additions & 0 deletions devspaces/instance/overlays/default/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Dev Spaces

[OpenShift Dev Spaces Docs](https://access.redhat.com/documentation/en-us/red_hat_openshift_dev_spaces)
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
- namespace.yaml
- operator-group.yaml
- subscription.yaml
- ../../base
17 changes: 17 additions & 0 deletions devspaces/instance/overlays/low-idle/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: devspaces

resources:
- ../../base

patches:
- target:
group: org.eclipse.che
kind: CheCluster
name: devspaces
patch: |-
- op: replace
path: /spec/devEnvironments/secondsOfRunBeforeIdling
value: 300
24 changes: 24 additions & 0 deletions devspaces/instance/overlays/timeout-12m/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

namespace: devspaces

resources:
- ../../base

patches:
- target:
group: org.eclipse.che
kind: CheCluster
name: devspaces
patch: |-
- op: replace
path: /spec/components/dashboard/headerMessage/show
value: true
- op: replace
path: /spec/components/dashboard/headerMessage/text
value: |
Please be patient... GPUs may take up to 12 min to be available!
- op: replace
path: /spec/devEnvironments/startTimeoutSeconds
value: 720
51 changes: 51 additions & 0 deletions gpu-operator-certified/instance/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# GPU Notes

For more info please review the following:

- [Demo GPUs on OpenShift](https://github.com/redhat-na-ssa/demo-ocp-gpu)

## Instance Types

AWS GPU Types:

Multi-instance GPU (MIG) can be:

- `p5.48xlarge` - 8 x H100 Tensor Core
- `p4d.24xlarge` - 8 x A100 Tensor Core

Time-slicing GPU can be any Nvidia type (as documented by Nvidia):

- P3 - V100
- `p3.2xlarge` - 1 x V100
- `p3.8xlarge` - 4 x V100
- `p3.16xlarge` - 8 x V100
- P2 - K80
- `P2.xlarge` - 1 x K80
- `P2.8xlarge` - 8 x K80
- `P2.16xlarge` - 16 x K80
- G5g - T4G
- `g5g.{,2,4,8}xlarge` - 1 x T4G
- `g5g.16xlarge`, `g5g.metal` - 2 x T4G
- G5 - A10G
- `g5.{,2,4,8,16}xlarge` - 1 x A10G
- `g5.{12,24}xlarge` - 4 x A10G
- `g5.48xlarge` - 8 x A10G
- G4dn - T4
- `g4dn.{,2,4,8,16}xlarge` - 1 x T4
- `g4dn.48xlarge` - 4 x T4
- `g4dn.metal` - 8 x T4
- G3 - M60
- `g3s.xlarge` - 1 x M60
- `g3.4xlarge` - 1 x M60
- `g3.8xlarge` - 2 x M60
- `g3.16xlarge` - 4 x M60

## Links

- [Docs - AWS GPU Instances](https://aws.amazon.com/ec2/instance-types/#Accelerated_Computing)
- [Docs - Nvidia GPU Operator on Openshift](https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/openshift/contents.html)
- [Docs - Nvidia GPU admin dashboard](https://docs.openshift.com/container-platform/4.11/monitoring/nvidia-gpu-admin-dashboard.html)
- [Docs - MIG support in OCP](https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/openshift/mig-ocp.html)
- [Blog - RH Nvidia GPUs on OpenShift](https://cloud.redhat.com/blog/autoscaling-nvidia-gpus-on-red-hat-openshift)
- [Demo - GPU DevSpaces](https://github.com/bkoz/devspaces)
- [GPU Operator default config map](https://gitlab.com/nvidia/kubernetes/gpu-operator/-/blob/v23.6.1/assets/state-mig-manager/0400_configmap.yaml?ref_type=tags)
Loading