Merge pull request #1997 from carlory/add-opensearch-script

add opensearch script for a developing purpose
This commit is contained in:
karmada-bot 2022-06-16 18:37:08 +08:00 committed by GitHub
commit 6806970293
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 184 additions and 0 deletions

View File

@ -0,0 +1,46 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: karmada-opensearch-dashboards
name: karmada-opensearch-dashboards
namespace: karmada-system
spec:
replicas: 1
selector:
matchLabels:
app: karmada-opensearch-dashboards
template:
metadata:
labels:
app: karmada-opensearch-dashboards
spec:
containers:
- env:
- name: DISABLE_SECURITY_DASHBOARDS_PLUGIN
value: "true"
- name: OPENSEARCH_HOSTS
value: '["http://karmada-opensearch:9200"]'
image: opensearchproject/opensearch-dashboards:2.0.0
imagePullPolicy: IfNotPresent
name: karmada-opensearch-dashboards
ports:
- containerPort: 5601
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
labels:
app: karmada-opensearch-dashboards
name: karmada-opensearch-dashboards
namespace: karmada-system
spec:
ports:
- name: http
port: 5601
protocol: TCP
targetPort: 5601
selector:
app: karmada-opensearch-dashboards
type: ClusterIP

View File

@ -0,0 +1,68 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: karmada-opensearch
name: karmada-opensearch
namespace: karmada-system
spec:
replicas: 1
selector:
matchLabels:
app: karmada-opensearch
template:
metadata:
labels:
app: karmada-opensearch
spec:
containers:
- env:
- name: DISABLE_INSTALL_DEMO_CONFIG
value: "true"
- name: DISABLE_SECURITY_PLUGIN
value: "true"
- name: OPENSEARCH_JAVA_OPTS
value: -Xms512m -Xmx512m
- name: bootstrap.memory_lock
value: "true"
- name: cluster.name
value: opensearch-cluster
- name: discovery.type
value: single-node
- name: node.name
value: karmada-opensearch
image: opensearchproject/opensearch:2.0.0
name: karmada-opensearch
ports:
- containerPort: 9200
name: client
- containerPort: 9600
name: analyzer
volumeMounts:
- mountPath: /usr/share/opensearch/data
name: karmada-opensearch
securityContext:
fsGroup: 1000
runAsGroup: 1000
runAsUser: 1000
volumes:
- emptyDir: {}
name: karmada-opensearch
---
apiVersion: v1
kind: Service
metadata:
labels:
app: karmada-opensearch
name: karmada-opensearch
namespace: karmada-system
spec:
ports:
- name: client
port: 9200
targetPort: 9200
- name: analyzer
port: 9600
targetPort: 9600
selector:
app: karmada-opensearch

View File

@ -0,0 +1,68 @@
#!/bin/bash
set -o errexit
set -o nounset
REPO_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
source "${REPO_ROOT}"/hack/util.sh
function usage() {
echo "This script will deploy karmada-opensearch on host cluster"
echo "Usage: hack/deploy-karmada-opensearch.sh <HOST_CLUSTER_KUBECONFIG> <HOST_CLUSTER_NAME>>"
echo "Example: hack/deploy-karmada-opensearch.sh ~/.kube/config karmada-host"
}
if [[ $# -ne 2 ]]; then
usage
exit 1
fi
# check kube config file existence
if [[ ! -f "${1}" ]]; then
echo -e "ERROR: failed to get kubernetes config file: '${1}', not existed.\n"
usage
exit 1
fi
HOST_CLUSTER_KUBECONFIG=$1
# check context existence
if ! kubectl config get-contexts "${2}" --kubeconfig="${HOST_CLUSTER_KUBECONFIG}" > /dev/null 2>&1;
then
echo -e "ERROR: failed to get context: '${2}' not in ${HOST_CLUSTER_KUBECONFIG}. \n"
usage
exit 1
fi
HOST_CLUSTER_NAME=$2
# install opensearch to host cluster
if [ -n "${KUBECONFIG+x}" ];then
CURR_KUBECONFIG=$KUBECONFIG # backup current kubeconfig
fi
# switch to host cluster
TEMP_PATH=$(mktemp -d)
cp $HOST_CLUSTER_KUBECONFIG $TEMP_PATH/kubeconfig
export KUBECONFIG="$TEMP_PATH/kubeconfig"
kubectl config use-context "${HOST_CLUSTER_NAME}"
echo "using kubeconfig: "$KUBECONFIG
# deploy karmada opensearch
kubectl apply -f "${REPO_ROOT}/artifacts/opensearch/karmada-opensearch.yaml"
kubectl apply -f "${REPO_ROOT}/artifacts/opensearch/karmada-opensearch-dashboards.yaml"
# make sure all karmada-opensearch components are ready
util::wait_pod_ready "${KARMADA_OPENSEARCH_LABEL}" "${KARMADA_SYSTEM_NAMESPACE}"
util::wait_pod_ready "${KARMADA_OPENSEARCH_DASHBOARDS_LABEL}" "${KARMADA_SYSTEM_NAMESPACE}"
# recover the kubeconfig before installing opensearch if necessary
if [ -n "${CURR_KUBECONFIG+x}" ];then
export KUBECONFIG="${CURR_KUBECONFIG}"
else
unset KUBECONFIG
fi
function print_success() {
echo "Opensearch is deployed successfully."
echo "You can access the opensearch at http://karmada-opensearch.karmada-system.svc:9200"
}
print_success

View File

@ -17,6 +17,8 @@ KARMADA_WEBHOOK_LABEL="karmada-webhook"
AGENT_POD_LABEL="karmada-agent"
INTERPRETER_WEBHOOK_EXAMPLE_LABEL="karmada-interpreter-webhook-example"
KARMADA_SEARCH_LABEL="karmada-search"
KARMADA_OPENSEARCH_LABEL="karmada-opensearch"
KARMADA_OPENSEARCH_DASHBOARDS_LABEL="karmada-opensearch-dashboards"
KARMADA_GO_PACKAGE="github.com/karmada-io/karmada"