You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@submarine.apache.org by pi...@apache.org on 2021/10/29 09:13:48 UTC

[submarine] branch master updated: SUBMARINE-982. Install seldon-core

This is an automated email from the ASF dual-hosted git repository.

pingsutw pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/submarine.git


The following commit(s) were added to refs/heads/master by this push:
     new 5e2e6a5  SUBMARINE-982. Install seldon-core
5e2e6a5 is described below

commit 5e2e6a57ceafadb8bcea83d0046b2fd6892dab3e
Author: jeff-901 <b0...@ntu.edu.tw>
AuthorDate: Sat Oct 23 14:32:26 2021 +0800

    SUBMARINE-982. Install seldon-core
    
    ### What is this PR for?
    Install seldon-core and install istio for the seldon-core gateway. Update the document for the installation by script and how to uninstsall.
    
    ### What type of PR is it?
    Feature
    
    ### Todos
    
    ### What is the Jira issue?
    https://issues.apache.org/jira/browse/SUBMARINE-982
    
    ### How should this be tested?
    
    ### Screenshots (if appropriate)
    
    ### Questions:
    * Do the license files need updating? No
    * Are there breaking changes for older versions? No
    * Does this need new documentation? No
    
    Author: jeff-901 <b0...@ntu.edu.tw>
    
    Signed-off-by: Kevin <pi...@apache.org>
    
    Closes #715 from jeff-901/SUBMARINE-982 and squashes the following commits:
    
    1596a391 [jeff-901] fix secret namespace
    32370465 [jeff-901] seperate installation of submarine and submarine-serve
    93e4a502 [jeff-901] remove duplicate code
    fc4389d6 [jeff-901] move serve to submarine-serve
    708cd8d6 [jeff-901] add istioctl to .gitignore
    fcb5cdc2 [jeff-901] delete unused file
    2f398bc2 [jeff-901] add license
    d7a67b5c [jeff-901] update doc and add istio
    50d9eee4 [jeff-901] add the install script
---
 .gitignore                                       |  3 ++
 submarine-serve/README.md                        | 39 ++++++++++++++++++++
 submarine-serve/installation/install.sh          | 45 ++++++++++++++++++++++++
 submarine-serve/installation/seldon-gateway.yaml | 31 ++++++++++++++++
 submarine-serve/installation/seldon-secret.yaml  | 29 +++++++++++++++
 website/.gitignore                               |  2 +-
 6 files changed, 148 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 36f2b07..7e1f577 100644
--- a/.gitignore
+++ b/.gitignore
@@ -103,3 +103,6 @@ submarine-cloud-v2/helm-charts/submarine-operator/charts/*
 
 # redundant logging files
 *.log
+
+# installation binary
+submarine-serve/installation/istioctl
\ No newline at end of file
diff --git a/submarine-serve/README.md b/submarine-serve/README.md
new file mode 100644
index 0000000..521dc62
--- /dev/null
+++ b/submarine-serve/README.md
@@ -0,0 +1,39 @@
+<!---
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License. See accompanying LICENSE file.
+-->
+
+# Submarine Serve
+
+Submarine serve uses istio 1.6.8 and seldon-core 1.10.0 for serving.
+
+## Install
+
+- Install submarine first
+
+```bash
+cd submarine
+helm install submarine ./helm-charts/submarine
+```
+
+- Install submarine serve package istio and seldon-core
+
+```bash
+./submarine-serve/installation/install.sh
+```
+
+### Uninstall Submarine Serve Package
+
+```bash
+kubectl delete ns istio-system
+kubectl delete ns seldon-system
+```
diff --git a/submarine-serve/installation/install.sh b/submarine-serve/installation/install.sh
new file mode 100755
index 0000000..6eab364
--- /dev/null
+++ b/submarine-serve/installation/install.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -euxo pipefail
+
+if [ -L ${BASH_SOURCE-$0} ]; then
+  PWD=$(dirname $(readlink "${BASH_SOURCE-$0}"))
+else
+  PWD=$(dirname ${BASH_SOURCE-$0})
+fi
+export CURRENT_PATH=$(cd "${PWD}">/dev/null; pwd)
+SUBMARINE_HOME=${CURRENT_PATH}/../..
+
+if [[ ! -f ${CURRENT_PATH}/istioctl ]]; then
+    wget https://github.com/istio/istio/releases/download/1.6.8/istio-1.6.8-linux-amd64.tar.gz
+    tar zxvf istio-1.6.8-linux-amd64.tar.gz
+    rm -rf istio-1.6.8-linux-amd64.tar.gz
+    cp ./istio-1.6.8/bin/istioctl ${CURRENT_PATH}/istioctl
+    rm -rf istio-1.6.8
+fi
+
+${CURRENT_PATH}/istioctl install --skip-confirmation
+
+kubectl create ns seldon-system
+kubectl apply -f ${CURRENT_PATH}/seldon-secret.yaml
+helm install seldon-core seldon-core-operator \
+    --repo https://storage.googleapis.com/seldon-charts \
+    --namespace seldon-system \
+    --version 1.10.0 \
+    --set istio.enabled=true \
+    --set executor.defaultEnvSecretRefName=seldon-core-init-container-secret 2> /dev/null
+kubectl apply -f ${CURRENT_PATH}/seldon-gateway.yaml
diff --git a/submarine-serve/installation/seldon-gateway.yaml b/submarine-serve/installation/seldon-gateway.yaml
new file mode 100644
index 0000000..ff9c01b
--- /dev/null
+++ b/submarine-serve/installation/seldon-gateway.yaml
@@ -0,0 +1,31 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: networking.istio.io/v1alpha3
+kind: Gateway
+metadata:
+  name: seldon-gateway
+  namespace: istio-system
+spec:
+  selector:
+    istio: ingressgateway # use istio default controller
+  servers:
+  - port:
+      number: 80
+      name: http
+      protocol: HTTP
+    hosts:
+    - "*"
diff --git a/submarine-serve/installation/seldon-secret.yaml b/submarine-serve/installation/seldon-secret.yaml
new file mode 100644
index 0000000..4a7d0c3
--- /dev/null
+++ b/submarine-serve/installation/seldon-secret.yaml
@@ -0,0 +1,29 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+apiVersion: v1
+kind: Secret
+metadata:
+  name: submarine-serve-secret
+  namespace: default
+type: Opaque
+stringData:
+  RCLONE_CONFIG_S3_TYPE: s3
+  RCLONE_CONFIG_S3_PROVIDER: minio
+  RCLONE_CONFIG_S3_ENV_AUTH: "false"
+  RCLONE_CONFIG_S3_ACCESS_KEY_ID: submarine_minio
+  RCLONE_CONFIG_S3_SECRET_ACCESS_KEY: submarine_minio
+  RCLONE_CONFIG_S3_ENDPOINT: http://submarine-minio-service:9000
\ No newline at end of file
diff --git a/website/.gitignore b/website/.gitignore
index 7abf50a..7476a98 100644
--- a/website/.gitignore
+++ b/website/.gitignore
@@ -18,4 +18,4 @@ package-lock.json
 
 npm-debug.log*
 yarn-debug.log*
-yarn-error.log*
+yarn-error.log*
\ No newline at end of file

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@submarine.apache.org
For additional commands, e-mail: dev-help@submarine.apache.org