mirror of https://github.com/kubeflow/katib.git
Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
|
036296a2e8 | |
|
7d7c34c72a | |
|
2b01bc03f0 | |
|
850c870890 | |
|
75e8b862d6 | |
|
f009546d9d |
|
@ -0,0 +1,44 @@
|
||||||
|
name: Go Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: Test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
GOPATH: ${{ github.workspace }}/go
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: ${{ env.GOPATH }}/src/github.com/kubeflow/katib
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
path: ${{ env.GOPATH }}/src/github.com/kubeflow/katib
|
||||||
|
|
||||||
|
- name: Setup Go
|
||||||
|
uses: actions/setup-go@v2
|
||||||
|
with:
|
||||||
|
go-version: 1.15.8
|
||||||
|
|
||||||
|
- name: Run Go test
|
||||||
|
run: |
|
||||||
|
go mod download
|
||||||
|
|
||||||
|
curl -L -O "https://github.com/kubernetes-sigs/kubebuilder/releases/download/v1.0.7/kubebuilder_1.0.7_linux_amd64.tar.gz"
|
||||||
|
tar -zxvf kubebuilder_1.0.7_linux_amd64.tar.gz
|
||||||
|
sudo mv kubebuilder_1.0.7_linux_amd64 /usr/local/kubebuilder
|
||||||
|
export PATH=$PATH:/usr/local/kubebuilder/bin
|
||||||
|
|
||||||
|
make check
|
||||||
|
make test
|
||||||
|
|
||||||
|
- name: Coveralls report
|
||||||
|
uses: shogo82148/actions-goveralls@v1
|
||||||
|
with:
|
||||||
|
path-to-profile: coverage.out
|
||||||
|
working-directory: ${{ env.GOPATH }}/src/github.com/kubeflow/katib
|
|
@ -0,0 +1,24 @@
|
||||||
|
name: Frontend Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: Test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check out code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 12.18.1
|
||||||
|
|
||||||
|
- name: Run Node test
|
||||||
|
run: |
|
||||||
|
npm install --global prettier@2.2.0
|
||||||
|
make prettier-check
|
26
.travis.yml
26
.travis.yml
|
@ -1,26 +0,0 @@
|
||||||
jobs:
|
|
||||||
include:
|
|
||||||
- name: "Go unit tests, gofmt, golint and coveralls"
|
|
||||||
language: go
|
|
||||||
go: "1.15.8"
|
|
||||||
go_import_path: github.com/kubeflow/katib
|
|
||||||
install:
|
|
||||||
- curl -L -O "https://github.com/kubernetes-sigs/kubebuilder/releases/download/v1.0.7/kubebuilder_1.0.7_linux_amd64.tar.gz"
|
|
||||||
- # extract the archive
|
|
||||||
- tar -zxvf kubebuilder_1.0.7_linux_amd64.tar.gz
|
|
||||||
- sudo mv kubebuilder_1.0.7_linux_amd64 /usr/local/kubebuilder
|
|
||||||
- export PATH=$PATH:/usr/local/kubebuilder/bin
|
|
||||||
# get coveralls.io support
|
|
||||||
- go get github.com/mattn/goveralls
|
|
||||||
script:
|
|
||||||
- make check
|
|
||||||
- make test
|
|
||||||
after_success:
|
|
||||||
- goveralls -coverprofile=coverage.out
|
|
||||||
- name: "Prettier frontend check"
|
|
||||||
language: node_js
|
|
||||||
node_js: "12.18.1"
|
|
||||||
install:
|
|
||||||
- npm install --global prettier@2.2.0
|
|
||||||
script:
|
|
||||||
- make prettier-check
|
|
|
@ -68,7 +68,9 @@ fi
|
||||||
set -e
|
set -e
|
||||||
echo "INFO: Creating CSR: ${csr_name}"
|
echo "INFO: Creating CSR: ${csr_name}"
|
||||||
|
|
||||||
cat <<EOF | kubectl create -f -
|
# signerName is not supported in Kubernetes <= 1.17
|
||||||
|
# See: https://github.com/kubeflow/katib/issues/1500
|
||||||
|
cat <<EOF | kubectl create --validate=false -f -
|
||||||
apiVersion: certificates.k8s.io/v1beta1
|
apiVersion: certificates.k8s.io/v1beta1
|
||||||
kind: CertificateSigningRequest
|
kind: CertificateSigningRequest
|
||||||
metadata:
|
metadata:
|
||||||
|
|
|
@ -5,6 +5,9 @@ metadata:
|
||||||
namespace: kubeflow
|
namespace: kubeflow
|
||||||
spec:
|
spec:
|
||||||
template:
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
sidecar.istio.io/inject: "false"
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: katib-cert-generator
|
serviceAccountName: katib-cert-generator
|
||||||
containers:
|
containers:
|
|
@ -0,0 +1,6 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- cert-generator.yaml
|
||||||
|
- rbac.yaml
|
|
@ -17,6 +17,7 @@ spec:
|
||||||
app: katib-controller
|
app: katib-controller
|
||||||
annotations:
|
annotations:
|
||||||
prometheus.io/scrape: "true"
|
prometheus.io/scrape: "true"
|
||||||
|
sidecar.istio.io/inject: "false"
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: katib-controller
|
serviceAccountName: katib-controller
|
||||||
containers:
|
containers:
|
||||||
|
|
|
@ -7,13 +7,13 @@ data:
|
||||||
metrics-collector-sidecar: |-
|
metrics-collector-sidecar: |-
|
||||||
{
|
{
|
||||||
"StdOut": {
|
"StdOut": {
|
||||||
"image": "docker.io/kubeflowkatib/file-metrics-collector"
|
"image": "docker.io/kubeflowkatib/file-metrics-collector:v0.11.1"
|
||||||
},
|
},
|
||||||
"File": {
|
"File": {
|
||||||
"image": "docker.io/kubeflowkatib/file-metrics-collector"
|
"image": "docker.io/kubeflowkatib/file-metrics-collector:v0.11.1"
|
||||||
},
|
},
|
||||||
"TensorFlowEvent": {
|
"TensorFlowEvent": {
|
||||||
"image": "docker.io/kubeflowkatib/tfevent-metrics-collector",
|
"image": "docker.io/kubeflowkatib/tfevent-metrics-collector:v0.11.1",
|
||||||
"resources": {
|
"resources": {
|
||||||
"limits": {
|
"limits": {
|
||||||
"memory": "1Gi"
|
"memory": "1Gi"
|
||||||
|
@ -24,25 +24,25 @@ data:
|
||||||
suggestion: |-
|
suggestion: |-
|
||||||
{
|
{
|
||||||
"random": {
|
"random": {
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-hyperopt"
|
"image": "docker.io/kubeflowkatib/suggestion-hyperopt:v0.11.1"
|
||||||
},
|
},
|
||||||
"tpe": {
|
"tpe": {
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-hyperopt"
|
"image": "docker.io/kubeflowkatib/suggestion-hyperopt:v0.11.1"
|
||||||
},
|
},
|
||||||
"grid": {
|
"grid": {
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-chocolate"
|
"image": "docker.io/kubeflowkatib/suggestion-chocolate:v0.11.1"
|
||||||
},
|
},
|
||||||
"hyperband": {
|
"hyperband": {
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-hyperband"
|
"image": "docker.io/kubeflowkatib/suggestion-hyperband:v0.11.1"
|
||||||
},
|
},
|
||||||
"bayesianoptimization": {
|
"bayesianoptimization": {
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-skopt"
|
"image": "docker.io/kubeflowkatib/suggestion-skopt:v0.11.1"
|
||||||
},
|
},
|
||||||
"cmaes": {
|
"cmaes": {
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-goptuna"
|
"image": "docker.io/kubeflowkatib/suggestion-goptuna:v0.11.1"
|
||||||
},
|
},
|
||||||
"enas": {
|
"enas": {
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-enas",
|
"image": "docker.io/kubeflowkatib/suggestion-enas:v0.11.1",
|
||||||
"resources": {
|
"resources": {
|
||||||
"limits": {
|
"limits": {
|
||||||
"memory": "200Mi"
|
"memory": "200Mi"
|
||||||
|
@ -50,12 +50,12 @@ data:
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"darts": {
|
"darts": {
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-darts"
|
"image": "docker.io/kubeflowkatib/suggestion-darts:v0.11.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
early-stopping: |-
|
early-stopping: |-
|
||||||
{
|
{
|
||||||
"medianstop": {
|
"medianstop": {
|
||||||
"image": "docker.io/kubeflowkatib/earlystopping-medianstop"
|
"image": "docker.io/kubeflowkatib/earlystopping-medianstop:v0.11.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- controller.yaml
|
||||||
|
- katib-config.yaml
|
||||||
|
- rbac.yaml
|
||||||
|
- service.yaml
|
||||||
|
- trial-templates.yaml
|
|
@ -0,0 +1,7 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- experiment.yaml
|
||||||
|
- suggestion.yaml
|
||||||
|
- trial.yaml
|
|
@ -15,6 +15,8 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: katib-db-manager
|
app: katib-db-manager
|
||||||
|
annotations:
|
||||||
|
sidecar.istio.io/inject: "false"
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: katib-db-manager
|
- name: katib-db-manager
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- db-manager.yaml
|
||||||
|
- service.yaml
|
|
@ -0,0 +1,9 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- mysql.yaml
|
||||||
|
- pv.yaml
|
||||||
|
- pvc.yaml
|
||||||
|
- secret.yaml
|
||||||
|
- service.yaml
|
|
@ -17,6 +17,8 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: katib-mysql
|
app: katib-mysql
|
||||||
|
annotations:
|
||||||
|
sidecar.istio.io/inject: "false"
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: katib-mysql
|
- name: katib-mysql
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: kubeflow
|
||||||
|
resources:
|
||||||
|
# Namespace.
|
||||||
|
- namespace.yaml
|
|
@ -0,0 +1,7 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- rbac.yaml
|
||||||
|
- service.yaml
|
||||||
|
- ui.yaml
|
|
@ -15,6 +15,8 @@ spec:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
app: katib-ui
|
app: katib-ui
|
||||||
|
annotations:
|
||||||
|
sidecar.istio.io/inject: "false"
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: katib-ui
|
- name: katib-ui
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- webhooks.yaml
|
|
@ -0,0 +1,23 @@
|
||||||
|
apiVersion: cert-manager.io/v1alpha2
|
||||||
|
kind: Certificate
|
||||||
|
metadata:
|
||||||
|
name: katib-webhook-cert
|
||||||
|
spec:
|
||||||
|
isCA: true
|
||||||
|
commonName: $(KATIB_SERVICE_NAME).$(KATIB_NAMESPACE).svc
|
||||||
|
dnsNames:
|
||||||
|
- $(KATIB_SERVICE_NAME).$(KATIB_NAMESPACE).svc
|
||||||
|
- $(KATIB_SERVICE_NAME).$(KATIB_NAMESPACE).svc.cluster.local
|
||||||
|
issuerRef:
|
||||||
|
kind: Issuer
|
||||||
|
name: katib-selfsigned-issuer
|
||||||
|
secretName: katib-webhook-cert
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: cert-manager.io/v1alpha2
|
||||||
|
kind: Issuer
|
||||||
|
metadata:
|
||||||
|
name: katib-selfsigned-issuer
|
||||||
|
spec:
|
||||||
|
selfSigned: {}
|
|
@ -0,0 +1,60 @@
|
||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
namespace: kubeflow
|
||||||
|
resources:
|
||||||
|
# Namespace.
|
||||||
|
- ../../components/namespace
|
||||||
|
# Katib controller.
|
||||||
|
- ../../components/controller/
|
||||||
|
# Katib CRDs.
|
||||||
|
- ../../components/crd/
|
||||||
|
# Katib DB manager.
|
||||||
|
- ../../components/db-manager/
|
||||||
|
# Katib DB mysql.
|
||||||
|
- ../../components/mysql/
|
||||||
|
# Katib UI.
|
||||||
|
- ../../components/ui/
|
||||||
|
# Katib webhooks.
|
||||||
|
- ../../components/webhook/
|
||||||
|
# Cert-manager certificate for webhooks
|
||||||
|
- certificate.yaml
|
||||||
|
images:
|
||||||
|
- name: docker.io/kubeflowkatib/katib-controller
|
||||||
|
newName: docker.io/kubeflowkatib/katib-controller
|
||||||
|
newTag: v0.11.1
|
||||||
|
- name: docker.io/kubeflowkatib/katib-db-manager
|
||||||
|
newName: docker.io/kubeflowkatib/katib-db-manager
|
||||||
|
newTag: v0.11.1
|
||||||
|
- name: docker.io/kubeflowkatib/katib-ui
|
||||||
|
newName: docker.io/kubeflowkatib/katib-ui
|
||||||
|
newTag: v0.11.1
|
||||||
|
|
||||||
|
patchesStrategicMerge:
|
||||||
|
- patches/katib-cert-injection.yaml
|
||||||
|
|
||||||
|
vars:
|
||||||
|
- fieldref:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
name: KATIB_NAMESPACE
|
||||||
|
objref:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
name: katib-controller
|
||||||
|
- fieldref:
|
||||||
|
fieldPath: metadata.name
|
||||||
|
name: KATIB_SERVICE_NAME
|
||||||
|
objref:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
name: katib-controller
|
||||||
|
- name: KATIB_CERT_NAME
|
||||||
|
objref:
|
||||||
|
kind: Certificate
|
||||||
|
group: cert-manager.io
|
||||||
|
version: v1alpha2
|
||||||
|
name: katib-webhook-cert
|
||||||
|
fieldref:
|
||||||
|
fieldpath: metadata.name
|
||||||
|
|
||||||
|
configurations:
|
||||||
|
- params.yaml
|
|
@ -0,0 +1,20 @@
|
||||||
|
varReference:
|
||||||
|
- path: spec/http/route/destination/host
|
||||||
|
kind: VirtualService
|
||||||
|
- path: spec/commonName
|
||||||
|
kind: Certificate
|
||||||
|
- path: spec/dnsNames
|
||||||
|
kind: Certificate
|
||||||
|
- path: spec/issuerRef/name
|
||||||
|
kind: Certificate
|
||||||
|
- path: metadata/annotations
|
||||||
|
kind: MutatingWebhookConfiguration
|
||||||
|
- path: metadata/annotations
|
||||||
|
kind: ValidatingWebhookConfiguration
|
||||||
|
nameReference:
|
||||||
|
- kind: Issuer
|
||||||
|
group: cert-manager.io
|
||||||
|
fieldSpecs:
|
||||||
|
- kind: Certificate
|
||||||
|
group: cert-manager.io
|
||||||
|
path: spec/issuerRef/name
|
|
@ -0,0 +1,13 @@
|
||||||
|
apiVersion: admissionregistration.k8s.io/v1
|
||||||
|
kind: ValidatingWebhookConfiguration
|
||||||
|
metadata:
|
||||||
|
name: katib.kubeflow.org
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/inject-ca-from: $(KATIB_NAMESPACE)/$(KATIB_CERT_NAME)
|
||||||
|
---
|
||||||
|
apiVersion: admissionregistration.k8s.io/v1
|
||||||
|
kind: MutatingWebhookConfiguration
|
||||||
|
metadata:
|
||||||
|
name: katib.kubeflow.org
|
||||||
|
annotations:
|
||||||
|
cert-manager.io/inject-ca-from: $(KATIB_NAMESPACE)/$(KATIB_CERT_NAME)
|
|
@ -3,43 +3,33 @@ kind: Kustomization
|
||||||
namespace: kubeflow
|
namespace: kubeflow
|
||||||
resources:
|
resources:
|
||||||
# Namespace.
|
# Namespace.
|
||||||
- ../../components/namespace.yaml
|
- ../../components/namespace/
|
||||||
# Katib controller.
|
# Katib controller.
|
||||||
- ../../components/controller/controller.yaml
|
- ../../components/controller/
|
||||||
- ../../components/controller/service.yaml
|
|
||||||
- ../../components/controller/rbac.yaml
|
|
||||||
- ../../components/controller/katib-config.yaml
|
|
||||||
- ../../components/controller/trial-templates.yaml
|
|
||||||
# Katib CRDs.
|
# Katib CRDs.
|
||||||
- ../../components/crd/experiment.yaml
|
- ../../components/crd/
|
||||||
- ../../components/crd/suggestion.yaml
|
|
||||||
- ../../components/crd/trial.yaml
|
|
||||||
# Katib DB manager.
|
# Katib DB manager.
|
||||||
- ../../components/db-manager/db-manager.yaml
|
- ../../components/db-manager/
|
||||||
- ../../components/db-manager/service.yaml
|
|
||||||
# Katib UI.
|
# Katib UI.
|
||||||
- ../../components/ui/ui.yaml
|
- ../../components/ui/
|
||||||
- ../../components/ui/service.yaml
|
# Katib Cert Generator
|
||||||
- ../../components/ui/rbac.yaml
|
- ../../components/cert-generator/
|
||||||
# Katib webhooks.
|
# Katib webhooks.
|
||||||
- ../../components/webhook/cert-generator.yaml
|
- ../../components/webhook/
|
||||||
- ../../components/webhook/rbac.yaml
|
|
||||||
- ../../components/webhook/webhooks.yaml
|
|
||||||
images:
|
images:
|
||||||
- name: docker.io/kubeflowkatib/katib-controller
|
- name: docker.io/kubeflowkatib/katib-controller
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-controller
|
newName: docker.io/kubeflowkatib/katib-controller
|
||||||
|
newTag: v0.11.1
|
||||||
- name: docker.io/kubeflowkatib/katib-db-manager
|
- name: docker.io/kubeflowkatib/katib-db-manager
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-db-manager
|
newName: docker.io/kubeflowkatib/katib-db-manager
|
||||||
|
newTag: v0.11.1
|
||||||
- name: docker.io/kubeflowkatib/katib-ui
|
- name: docker.io/kubeflowkatib/katib-ui
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-ui
|
newName: docker.io/kubeflowkatib/katib-ui
|
||||||
|
newTag: v0.11.1
|
||||||
- name: docker.io/kubeflowkatib/cert-generator
|
- name: docker.io/kubeflowkatib/cert-generator
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/cert-generator
|
newName: docker.io/kubeflowkatib/cert-generator
|
||||||
|
newTag: v0.11.1
|
||||||
patchesStrategicMerge:
|
patchesStrategicMerge:
|
||||||
- ../katib-standalone/katib-config-patch.yaml
|
|
||||||
- db-manager-patch.yaml
|
- db-manager-patch.yaml
|
||||||
# Modify katib-mysql-secrets with parameters for the DB.
|
# Modify katib-mysql-secrets with parameters for the DB.
|
||||||
secretGenerator:
|
secretGenerator:
|
||||||
|
|
|
@ -1,61 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: katib-config
|
|
||||||
namespace: kubeflow
|
|
||||||
data:
|
|
||||||
metrics-collector-sidecar: |-
|
|
||||||
{
|
|
||||||
"StdOut": {
|
|
||||||
"image": "docker.io/kubeflowkatib/file-metrics-collector:latest"
|
|
||||||
},
|
|
||||||
"File": {
|
|
||||||
"image": "docker.io/kubeflowkatib/file-metrics-collector:latest"
|
|
||||||
},
|
|
||||||
"TensorFlowEvent": {
|
|
||||||
"image": "docker.io/kubeflowkatib/tfevent-metrics-collector:latest",
|
|
||||||
"resources": {
|
|
||||||
"limits": {
|
|
||||||
"memory": "1Gi"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
suggestion: |-
|
|
||||||
{
|
|
||||||
"random": {
|
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-hyperopt:latest"
|
|
||||||
},
|
|
||||||
"tpe": {
|
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-hyperopt:latest"
|
|
||||||
},
|
|
||||||
"grid": {
|
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-chocolate:latest"
|
|
||||||
},
|
|
||||||
"hyperband": {
|
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-hyperband:latest"
|
|
||||||
},
|
|
||||||
"bayesianoptimization": {
|
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-skopt:latest"
|
|
||||||
},
|
|
||||||
"cmaes": {
|
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-goptuna:latest"
|
|
||||||
},
|
|
||||||
"enas": {
|
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-enas:latest",
|
|
||||||
"resources": {
|
|
||||||
"limits": {
|
|
||||||
"memory": "200Mi"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"darts": {
|
|
||||||
"image": "docker.io/kubeflowkatib/suggestion-darts:latest"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
early-stopping: |-
|
|
||||||
{
|
|
||||||
"medianstop": {
|
|
||||||
"image": "docker.io/kubeflowkatib/earlystopping-medianstop:latest"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -3,46 +3,31 @@ kind: Kustomization
|
||||||
namespace: kubeflow
|
namespace: kubeflow
|
||||||
resources:
|
resources:
|
||||||
# Namespace.
|
# Namespace.
|
||||||
- ../../components/namespace.yaml
|
- ../../components/namespace/
|
||||||
# Katib controller.
|
# Katib controller.
|
||||||
- ../../components/controller/controller.yaml
|
- ../../components/controller/
|
||||||
- ../../components/controller/service.yaml
|
|
||||||
- ../../components/controller/rbac.yaml
|
|
||||||
- ../../components/controller/katib-config.yaml
|
|
||||||
- ../../components/controller/trial-templates.yaml
|
|
||||||
# Katib CRDs.
|
# Katib CRDs.
|
||||||
- ../../components/crd/experiment.yaml
|
- ../../components/crd/
|
||||||
- ../../components/crd/suggestion.yaml
|
|
||||||
- ../../components/crd/trial.yaml
|
|
||||||
# Katib DB manager.
|
# Katib DB manager.
|
||||||
- ../../components/db-manager/db-manager.yaml
|
- ../../components/db-manager/
|
||||||
- ../../components/db-manager/service.yaml
|
|
||||||
# Katib DB mysql.
|
# Katib DB mysql.
|
||||||
- ../../components/mysql/mysql.yaml
|
- ../../components/mysql/
|
||||||
- ../../components/mysql/service.yaml
|
|
||||||
- ../../components/mysql/pv.yaml
|
|
||||||
- ../../components/mysql/pvc.yaml
|
|
||||||
- ../../components/mysql/secret.yaml
|
|
||||||
# Katib UI.
|
# Katib UI.
|
||||||
- ../../components/ui/ui.yaml
|
- ../../components/ui/
|
||||||
- ../../components/ui/service.yaml
|
# Katib Cert Generator
|
||||||
- ../../components/ui/rbac.yaml
|
- ../../components/cert-generator/
|
||||||
# Katib webhooks.
|
# Katib webhooks.
|
||||||
- ../../components/webhook/cert-generator.yaml
|
- ../../components/webhook/
|
||||||
- ../../components/webhook/rbac.yaml
|
|
||||||
- ../../components/webhook/webhooks.yaml
|
|
||||||
images:
|
images:
|
||||||
- name: docker.io/kubeflowkatib/katib-controller
|
- name: docker.io/kubeflowkatib/katib-controller
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-controller
|
newName: docker.io/kubeflowkatib/katib-controller
|
||||||
|
newTag: v0.11.1
|
||||||
- name: docker.io/kubeflowkatib/katib-db-manager
|
- name: docker.io/kubeflowkatib/katib-db-manager
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-db-manager
|
newName: docker.io/kubeflowkatib/katib-db-manager
|
||||||
|
newTag: v0.11.1
|
||||||
- name: docker.io/kubeflowkatib/katib-ui
|
- name: docker.io/kubeflowkatib/katib-ui
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-ui
|
newName: docker.io/kubeflowkatib/katib-ui
|
||||||
|
newTag: v0.11.1
|
||||||
- name: docker.io/kubeflowkatib/cert-generator
|
- name: docker.io/kubeflowkatib/cert-generator
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/cert-generator
|
newName: docker.io/kubeflowkatib/cert-generator
|
||||||
patchesStrategicMerge:
|
newTag: v0.11.1
|
||||||
- katib-config-patch.yaml
|
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
apiVersion: app.k8s.io/v1beta1
|
|
||||||
kind: Application
|
|
||||||
metadata:
|
|
||||||
name: katib
|
|
||||||
spec:
|
|
||||||
addOwnerRef: true
|
|
||||||
componentKinds:
|
|
||||||
- group: core
|
|
||||||
kind: Service
|
|
||||||
- group: apps
|
|
||||||
kind: Deployment
|
|
||||||
- group: core
|
|
||||||
kind: Secret
|
|
||||||
- group: core
|
|
||||||
kind: ServiceAccount
|
|
||||||
- group: kubeflow.org
|
|
||||||
kind: Experiment
|
|
||||||
- group: kubeflow.org
|
|
||||||
kind: Suggestion
|
|
||||||
- group: kubeflow.org
|
|
||||||
kind: Trial
|
|
||||||
descriptor:
|
|
||||||
description: Katib is a service for AutoML.
|
|
||||||
keywords:
|
|
||||||
- katib
|
|
||||||
- automl
|
|
||||||
- hyperparameter tuning
|
|
||||||
links:
|
|
||||||
- description: About
|
|
||||||
url: https://github.com/kubeflow/katib
|
|
||||||
maintainers:
|
|
||||||
- email: gaoce@caicloud.io
|
|
||||||
name: Ce Gao
|
|
||||||
- email: johnugeo@cisco.com
|
|
||||||
name: Johnu George
|
|
||||||
- email: andrey.velichkevich@gmail.com
|
|
||||||
name: Andrey Velichkevich
|
|
||||||
owners:
|
|
||||||
- email: gaoce@caicloud.io
|
|
||||||
name: Ce Gao
|
|
||||||
- email: johnugeo@cisco.com
|
|
||||||
name: Johnu George
|
|
||||||
- email: andrey.velichkevich@gmail.com
|
|
||||||
name: Andrey Velichkevich
|
|
||||||
type: katib
|
|
||||||
version: v1beta1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app.kubernetes.io/component: katib
|
|
||||||
app.kubernetes.io/part-of: kubeflow
|
|
|
@ -2,52 +2,40 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
kind: Kustomization
|
kind: Kustomization
|
||||||
namespace: kubeflow
|
namespace: kubeflow
|
||||||
resources:
|
resources:
|
||||||
# Katib controller.
|
- ../katib-cert-manager
|
||||||
- ../../components/controller/controller.yaml
|
|
||||||
- ../../components/controller/service.yaml
|
|
||||||
- ../../components/controller/rbac.yaml
|
|
||||||
- ../../components/controller/katib-config.yaml
|
|
||||||
- ../../components/controller/trial-templates.yaml
|
|
||||||
# Katib CRDs.
|
|
||||||
- ../../components/crd/experiment.yaml
|
|
||||||
- ../../components/crd/suggestion.yaml
|
|
||||||
- ../../components/crd/trial.yaml
|
|
||||||
# Katib DB manager.
|
|
||||||
- ../../components/db-manager/db-manager.yaml
|
|
||||||
- ../../components/db-manager/service.yaml
|
|
||||||
# Katib DB mysql.
|
|
||||||
- ../../components/mysql/mysql.yaml
|
|
||||||
- ../../components/mysql/service.yaml
|
|
||||||
- ../../components/mysql/pvc.yaml
|
|
||||||
- ../../components/mysql/secret.yaml
|
|
||||||
# Katib UI.
|
|
||||||
- ../../components/ui/ui.yaml
|
|
||||||
- ../../components/ui/service.yaml
|
|
||||||
- ../../components/ui/rbac.yaml
|
|
||||||
# Katib webhooks.
|
|
||||||
- ../../components/webhook/cert-generator.yaml
|
|
||||||
- ../../components/webhook/rbac.yaml
|
|
||||||
- ../../components/webhook/webhooks.yaml
|
|
||||||
# Kubeflow Katib components.
|
# Kubeflow Katib components.
|
||||||
- katib-application.yaml
|
|
||||||
- kubeflow-katib-roles.yaml
|
- kubeflow-katib-roles.yaml
|
||||||
- ui-virtual-service.yaml
|
- ui-virtual-service.yaml
|
||||||
images:
|
images:
|
||||||
- name: docker.io/kubeflowkatib/katib-controller
|
- name: docker.io/kubeflowkatib/katib-controller
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-controller
|
newName: docker.io/kubeflowkatib/katib-controller
|
||||||
|
newTag: v0.11.1
|
||||||
- name: docker.io/kubeflowkatib/katib-db-manager
|
- name: docker.io/kubeflowkatib/katib-db-manager
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-db-manager
|
newName: docker.io/kubeflowkatib/katib-db-manager
|
||||||
|
newTag: v0.11.1
|
||||||
- name: docker.io/kubeflowkatib/katib-ui
|
- name: docker.io/kubeflowkatib/katib-ui
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/katib-ui
|
newName: docker.io/kubeflowkatib/katib-ui
|
||||||
- name: docker.io/kubeflowkatib/cert-generator
|
newTag: v0.11.1
|
||||||
newTag: latest
|
|
||||||
newName: docker.io/kubeflowkatib/cert-generator
|
|
||||||
patchesStrategicMerge:
|
patchesStrategicMerge:
|
||||||
- ../katib-standalone/katib-config-patch.yaml
|
- patches/remove-resources-patch.yaml
|
||||||
commonLabels:
|
|
||||||
app.kubernetes.io/component: katib
|
patchesJson6902:
|
||||||
|
- path: patches/mysql-pvc.yaml
|
||||||
|
target:
|
||||||
|
version: v1
|
||||||
|
name: katib-mysql
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
namespace: kubeflow
|
||||||
|
|
||||||
|
vars:
|
||||||
|
- fieldref:
|
||||||
|
fieldPath: metadata.namespace
|
||||||
|
name: KATIB_UI_NAMESPACE
|
||||||
|
objref:
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
name: katib-ui
|
||||||
|
|
||||||
configurations:
|
configurations:
|
||||||
- params.yaml
|
- params.yaml
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"op": "remove",
|
||||||
|
"path": "/spec/storageClassName"
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,11 @@
|
||||||
|
$patch: delete
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: katib-mysql
|
||||||
|
---
|
||||||
|
$patch: delete
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: kubeflow
|
|
@ -15,6 +15,6 @@ spec:
|
||||||
uri: /katib/
|
uri: /katib/
|
||||||
route:
|
route:
|
||||||
- destination:
|
- destination:
|
||||||
host: katib-ui.$(katib-ui-namespace).svc.$(clusterDomain)
|
host: katib-ui.$(KATIB_UI_NAMESPACE).svc.cluster.local
|
||||||
port:
|
port:
|
||||||
number: 80
|
number: 80
|
||||||
|
|
|
@ -71,14 +71,16 @@ echo -e "\nUpdating Katib image tags to ${TAG}\n"
|
||||||
# For MacOS we should set -i '' to avoid temp files from sed.
|
# For MacOS we should set -i '' to avoid temp files from sed.
|
||||||
if [[ $(uname) == "Darwin" ]]; then
|
if [[ $(uname) == "Darwin" ]]; then
|
||||||
sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-external-db/kustomization.yaml
|
sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-external-db/kustomization.yaml
|
||||||
sed -i '' -e "s@:[^[:space:]].*\"@:${TAG}\"@" ./manifests/v1beta1/installs/katib-standalone/katib-config-patch.yaml
|
sed -i '' -e "s@:[^[:space:]].*\"@:${TAG}\"@" ./manifests/v1beta1/components/controller/katib-config.yaml
|
||||||
sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-standalone/kustomization.yaml
|
sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-standalone/kustomization.yaml
|
||||||
sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-with-kubeflow/kustomization.yaml
|
sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-with-kubeflow/kustomization.yaml
|
||||||
|
sed -i '' -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-cert-manager/kustomization.yaml
|
||||||
else
|
else
|
||||||
sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-external-db/kustomization.yaml
|
sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-external-db/kustomization.yaml
|
||||||
sed -i -e "s@:[^[:space:]].*\"@:${TAG}\"@" ./manifests/v1beta1/installs/katib-standalone/katib-config-patch.yaml
|
sed -i -e "s@:[^[:space:]].*\"@:${TAG}\"@" ./manifests/v1beta1/components/controller/katib-config.yaml
|
||||||
sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-standalone/kustomization.yaml
|
sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-standalone/kustomization.yaml
|
||||||
sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-with-kubeflow/kustomization.yaml
|
sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-with-kubeflow/kustomization.yaml
|
||||||
|
sed -i -e "s@newTag: .*@newTag: ${TAG}@" ./manifests/v1beta1/installs/katib-cert-manager/kustomization.yaml
|
||||||
fi
|
fi
|
||||||
echo -e "Katib images have been updated\n"
|
echo -e "Katib images have been updated\n"
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ with open('requirements.txt') as f:
|
||||||
|
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name='kubeflow-katib',
|
name='kubeflow-katib',
|
||||||
version='0.10.1',
|
version='0.11.1',
|
||||||
author="Kubeflow Authors",
|
author="Kubeflow Authors",
|
||||||
author_email='premnath.vel@gmail.com',
|
author_email='premnath.vel@gmail.com',
|
||||||
license="Apache License Version 2.0",
|
license="Apache License Version 2.0",
|
||||||
|
|
|
@ -39,11 +39,11 @@ kubectl cluster-info
|
||||||
# Update images with current pull base sha.
|
# Update images with current pull base sha.
|
||||||
echo "Updating Katib images with the current PR SHA: ${VERSION}"
|
echo "Updating Katib images with the current PR SHA: ${VERSION}"
|
||||||
KUSTOMIZE_PATH="manifests/v1beta1/installs/katib-standalone/kustomization.yaml"
|
KUSTOMIZE_PATH="manifests/v1beta1/installs/katib-standalone/kustomization.yaml"
|
||||||
CONFIG_PATCH="manifests/v1beta1/installs/katib-standalone/katib-config-patch.yaml"
|
CONFIG_PATCH="manifests/v1beta1/components/controller/katib-config.yaml"
|
||||||
|
|
||||||
# Change tag to all images in kustomization and katib-config patch files.
|
# Change tag to all images in kustomization and katib-config patch files.
|
||||||
sed -i -e "s@latest@${VERSION}@" ${KUSTOMIZE_PATH}
|
sed -i -e "s@newTag: .*@newTag: ${VERSION}@" ${KUSTOMIZE_PATH}
|
||||||
sed -i -e "s@latest@${VERSION}@" ${CONFIG_PATCH}
|
sed -i -e "s@:[^[:space:]].*\"@:${VERSION}\"@" ${CONFIG_PATCH}
|
||||||
|
|
||||||
# Change Katib controller image.
|
# Change Katib controller image.
|
||||||
sed -i -e "s@newName: docker.io/kubeflowkatib/katib-controller@newName: ${ECR_REGISTRY}/${REPO_NAME}/v1beta1/katib-controller@" ${KUSTOMIZE_PATH}
|
sed -i -e "s@newName: docker.io/kubeflowkatib/katib-controller@newName: ${ECR_REGISTRY}/${REPO_NAME}/v1beta1/katib-controller@" ${KUSTOMIZE_PATH}
|
||||||
|
|
Loading…
Reference in New Issue