Loading .gitlab-ci.yml +3 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ include: - local: '/src/context/.gitlab-ci.yml' - local: '/src/device/.gitlab-ci.yml' - local: '/src/service/.gitlab-ci.yml' - local: '/src/qkd_app/.gitlab-ci.yml' - local: '/src/dbscanserving/.gitlab-ci.yml' - local: '/src/opticalattackmitigator/.gitlab-ci.yml' - local: '/src/opticalattackdetector/.gitlab-ci.yml' Loading Loading @@ -54,6 +55,8 @@ include: - local: '/src/qos_profile/.gitlab-ci.yml' - local: '/src/vnt_manager/.gitlab-ci.yml' - local: '/src/e2e_orchestrator/.gitlab-ci.yml' - local: '/src/ztp_server/.gitlab-ci.yml' - local: '/src/osm_client/.gitlab-ci.yml' # This should be last one: end-to-end integration tests - local: '/src/tests/.gitlab-ci.yml' deploy/all.sh +20 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,26 @@ export NATS_DEPLOY_MODE=${NATS_DEPLOY_MODE:-"single"} export NATS_REDEPLOY=${NATS_REDEPLOY:-""} # ----- Apache Kafka ----------------------------------------------------------- # If not already set, set the namespace where Kafka will be deployed. export KFK_NAMESPACE=${KFK_NAMESPACE:-"kafka"} # If not already set, set the external port Kafka Client interface will be exposed to. export KFK_EXT_PORT_CLIENT=${KFK_EXT_PORT_CLIENT:-"9092"} # If not already set, set Kafka installation mode. Accepted values are: 'single'. # - If KFK_DEPLOY_MODE is "single", Kafka is deployed in single node mode. It is convenient for # development and testing purposes and should fit in a VM. IT SHOULD NOT BE USED IN PRODUCTION ENVIRONMENTS. # NOTE: Production mode is still not supported. Will be provided in the future. export KFK_DEPLOY_MODE=${KFK_DEPLOY_MODE:-"single"} # If not already set, disable flag for re-deploying Kafka from scratch. # WARNING: ACTIVATING THIS FLAG IMPLIES LOOSING THE MESSAGE BROKER INFORMATION! # If KFK_REDEPLOY is "YES", the message broker will be dropped while checking/deploying Kafka. export KFK_REDEPLOY=${KFK_REDEPLOY:-""} # ----- QuestDB ---------------------------------------------------------------- # If not already set, set the namespace where QuestDB will be deployed. Loading deploy/crdb.sh +8 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ CRDB_MANIFESTS_PATH="manifests/cockroachdb" # Create a tmp folder for files modified during the deployment TMP_MANIFESTS_FOLDER="${TMP_FOLDER}/${CRDB_NAMESPACE}/manifests" mkdir -p $TMP_MANIFESTS_FOLDER mkdir -p ${TMP_MANIFESTS_FOLDER} function crdb_deploy_single() { echo "CockroachDB Namespace" Loading Loading @@ -105,6 +105,13 @@ function crdb_deploy_single() { sleep 1 done kubectl wait --namespace ${CRDB_NAMESPACE} --for=condition=Ready --timeout=300s pod/cockroachdb-0 # Wait for CockroachDB to notify "start_node_query" echo ">>> CockroachDB pods created. Waiting CockroachDB server to be started..." while ! kubectl --namespace ${CRDB_NAMESPACE} logs pod/cockroachdb-0 -c cockroachdb 2>&1 | grep -q 'start_node_query'; do printf "%c" "." sleep 1 done fi echo Loading deploy/kafka.sh +87 −53 Original line number Diff line number Diff line Loading @@ -13,17 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. ######################################################################################################################## # Read deployment settings ######################################################################################################################## # If not already set, set the namespace where Apache Kafka will be deployed. # If not already set, set the namespace where Kafka will be deployed. export KFK_NAMESPACE=${KFK_NAMESPACE:-"kafka"} # If not already set, set the port Apache Kafka server will be exposed to. export KFK_SERVER_PORT=${KFK_SERVER_PORT:-"9092"} # If not already set, set the external port Kafka client interface will be exposed to. export KFK_EXT_PORT_CLIENT=${KFK_EXT_PORT_CLIENT:-"9092"} # If not already set, set Kafka installation mode. Accepted values are: 'single'. # - If KFK_DEPLOY_MODE is "single", Kafka is deployed in single node mode. It is convenient for # development and testing purposes and should fit in a VM. IT SHOULD NOT BE USED IN PRODUCTION ENVIRONMENTS. # NOTE: Production mode is still not supported. Will be provided in the future. export KFK_DEPLOY_MODE=${KFK_DEPLOY_MODE:-"single"} # If not already set, if flag is YES, Apache Kafka will be redeployed and all topics will be lost. # If not already set, disable flag for re-deploying Kafka from scratch. # WARNING: ACTIVATING THIS FLAG IMPLIES LOOSING THE MESSAGE BROKER INFORMATION! # If KFK_REDEPLOY is "YES", the message broker will be dropped while checking/deploying Kafka. export KFK_REDEPLOY=${KFK_REDEPLOY:-""} Loading @@ -34,58 +43,83 @@ export KFK_REDEPLOY=${KFK_REDEPLOY:-""} # Constants TMP_FOLDER="./tmp" KFK_MANIFESTS_PATH="manifests/kafka" KFK_ZOOKEEPER_MANIFEST="01-zookeeper.yaml" KFK_MANIFEST="02-kafka.yaml" # Create a tmp folder for files modified during the deployment TMP_MANIFESTS_FOLDER="${TMP_FOLDER}/${KFK_NAMESPACE}/manifests" mkdir -p ${TMP_MANIFESTS_FOLDER} function kafka_deploy() { # copy zookeeper and kafka manifest files to temporary manifest location cp "${KFK_MANIFESTS_PATH}/${KFK_ZOOKEEPER_MANIFEST}" "${TMP_MANIFESTS_FOLDER}/${KFK_ZOOKEEPER_MANIFEST}" cp "${KFK_MANIFESTS_PATH}/${KFK_MANIFEST}" "${TMP_MANIFESTS_FOLDER}/${KFK_MANIFEST}" # echo "Apache Kafka Namespace" echo "Delete Apache Kafka Namespace" kubectl delete namespace ${KFK_NAMESPACE} --ignore-not-found echo "Create Apache Kafka Namespace" function kfk_deploy_single() { echo "Kafka Namespace" echo ">>> Create Kafka Namespace (if missing)" kubectl create namespace ${KFK_NAMESPACE} echo # echo ">>> Deplying Apache Kafka Zookeeper" # Kafka zookeeper service should be deployed before the kafka service kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/${KFK_ZOOKEEPER_MANIFEST}" #KFK_ZOOKEEPER_SERVICE="zookeeper-service" # this command may be replaced with command to extract service name automatically #KFK_ZOOKEEPER_IP=$(kubectl --namespace ${KFK_NAMESPACE} get service ${KFK_ZOOKEEPER_SERVICE} -o 'jsonpath={.spec.clusterIP}') echo "Kafka (single-mode)" echo ">>> Checking if Kafka is deployed..." if kubectl get --namespace ${KFK_NAMESPACE} statefulset/kafka &> /dev/null; then echo ">>> Kafka is present; skipping step." else echo ">>> Deploy Kafka" cp "${KFK_MANIFESTS_PATH}/single-node.yaml" "${TMP_MANIFESTS_FOLDER}/kfk_single_node.yaml" #sed -i "s/<KFK_NAMESPACE>/${KFK_NAMESPACE}/" "${TMP_MANIFESTS_FOLDER}/kfk_single_node.yaml" kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/kfk_single_node.yaml" echo ">>> Waiting Kafka statefulset to be created..." while ! kubectl get --namespace ${KFK_NAMESPACE} statefulset/kafka &> /dev/null; do printf "%c" "." sleep 1 done # Wait for statefulset condition "Available=True" does not work # Wait for statefulset condition "jsonpath='{.status.readyReplicas}'=3" throws error: # "error: readyReplicas is not found" # Workaround: Check the pods are ready #echo ">>> Kafka statefulset created. Waiting for readiness condition..." #kubectl wait --namespace ${KFK_NAMESPACE} --for=condition=Available=True --timeout=300s statefulset/kafka #kubectl wait --namespace ${KGK_NAMESPACE} --for=jsonpath='{.status.readyReplicas}'=3 --timeout=300s \ # statefulset/kafka echo ">>> Kafka statefulset created. Waiting Kafka pods to be created..." while ! kubectl get --namespace ${KFK_NAMESPACE} pod/kafka-0 &> /dev/null; do printf "%c" "." sleep 1 done kubectl wait --namespace ${KFK_NAMESPACE} --for=condition=Ready --timeout=300s pod/kafka-0 # Wait for Kafka to notify "Kafka Server started" echo ">>> Kafka pods created. Waiting Kafka Server to be started..." while ! kubectl --namespace ${KFK_NAMESPACE} logs pod/kafka-0 -c kafka 2>&1 | grep -q 'Kafka Server started'; do printf "%c" "." sleep 1 done fi echo } # Kafka service should be deployed after the zookeeper service #sed -i "s/<ZOOKEEPER_INTERNAL_IP>/${KFK_ZOOKEEPER_IP}/" "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST" sed -i "s/<KAFKA_NAMESPACE>/${KFK_NAMESPACE}/" "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST" # echo ">>> Deploying Apache Kafka Broker" kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST" function kfk_undeploy_single() { echo "Kafka (single-mode)" echo ">>> Checking if Kafka is deployed..." if kubectl get --namespace ${KFK_NAMESPACE} statefulset/kafka &> /dev/null; then echo ">>> Undeploy Kafka" kubectl delete --namespace ${KFK_NAMESPACE} -f "${TMP_MANIFESTS_FOLDER}/kfk_single_node.yaml" --ignore-not-found else echo ">>> Kafka is not present; skipping step." fi echo # echo ">>> Verifing Apache Kafka deployment" sleep 5 # KFK_PODS_STATUS=$(kubectl --namespace ${KFK_NAMESPACE} get pods) # if echo "$KFK_PODS_STATUS" | grep -qEv 'STATUS|Running'; then # echo "Deployment Error: \n $KFK_PODS_STATUS" # else # echo "$KFK_PODS_STATUS" # fi echo "Kafka Namespace" echo ">>> Delete Kafka Namespace (if exists)" echo "NOTE: this step might take few minutes to complete!" kubectl delete namespace ${KFK_NAMESPACE} --ignore-not-found echo } echo ">>> Apache Kafka" echo "Checking if Apache Kafka is deployed ... " if [ "$KFK_DEPLOY_MODE" == "single" ]; then if [ "$KFK_REDEPLOY" == "YES" ]; then echo "Redeploying kafka namespace" kafka_deploy elif kubectl get namespace "${KFK_NAMESPACE}" &> /dev/null; then echo "Apache Kafka already present; skipping step." kfk_undeploy_single fi kfk_deploy_single else echo "Kafka namespace doesn't exists. Deploying kafka namespace" kafka_deploy echo "Unsupported value: KFK_DEPLOY_MODE=$KFK_DEPLOY_MODE" fi echo deploy/tfs.sh +2 −28 Original line number Diff line number Diff line Loading @@ -51,12 +51,6 @@ export TFS_SKIP_BUILD=${TFS_SKIP_BUILD:-""} # If not already set, set the namespace where CockroackDB will be deployed. export CRDB_NAMESPACE=${CRDB_NAMESPACE:-"crdb"} # If not already set, set the external port CockroackDB Postgre SQL interface will be exposed to. export CRDB_EXT_PORT_SQL=${CRDB_EXT_PORT_SQL:-"26257"} # If not already set, set the external port CockroackDB HTTP Mgmt GUI interface will be exposed to. export CRDB_EXT_PORT_HTTP=${CRDB_EXT_PORT_HTTP:-"8081"} # If not already set, set the database username to be used by Context. export CRDB_USERNAME=${CRDB_USERNAME:-"tfs"} Loading @@ -69,27 +63,12 @@ export CRDB_PASSWORD=${CRDB_PASSWORD:-"tfs123"} # If not already set, set the namespace where NATS will be deployed. export NATS_NAMESPACE=${NATS_NAMESPACE:-"nats"} # If not already set, set the external port NATS Client interface will be exposed to. export NATS_EXT_PORT_CLIENT=${NATS_EXT_PORT_CLIENT:-"4222"} # If not already set, set the external port NATS HTTP Mgmt GUI interface will be exposed to. export NATS_EXT_PORT_HTTP=${NATS_EXT_PORT_HTTP:-"8222"} # ----- QuestDB ---------------------------------------------------------------- # If not already set, set the namespace where QuestDB will be deployed. export QDB_NAMESPACE=${QDB_NAMESPACE:-"qdb"} # If not already set, set the external port QuestDB Postgre SQL interface will be exposed to. export QDB_EXT_PORT_SQL=${QDB_EXT_PORT_SQL:-"8812"} # If not already set, set the external port QuestDB Influx Line Protocol interface will be exposed to. export QDB_EXT_PORT_ILP=${QDB_EXT_PORT_ILP:-"9009"} # If not already set, set the external port QuestDB HTTP Mgmt GUI interface will be exposed to. export QDB_EXT_PORT_HTTP=${QDB_EXT_PORT_HTTP:-"9000"} # If not already set, set the database username to be used for QuestDB. export QDB_USERNAME=${QDB_USERNAME:-"admin"} Loading @@ -114,14 +93,9 @@ export GRAF_EXT_PORT_HTTP=${GRAF_EXT_PORT_HTTP:-"3000"} # ----- Apache Kafka ------------------------------------------------------ # If not already set, set the namespace where Apache Kafka will be deployed. # If not already set, set the namespace where Kafka will be deployed. export KFK_NAMESPACE=${KFK_NAMESPACE:-"kafka"} # If not already set, set the port Apache Kafka server will be exposed to. export KFK_SERVER_PORT=${KFK_SERVER_PORT:-"9092"} # If not already set, if flag is YES, Apache Kafka will be redeployed and topic will be lost. export KFK_REDEPLOY=${KFK_REDEPLOY:-""} # ----- Telemetry Config ------------------------------------------------------ Loading Loading @@ -159,7 +133,7 @@ kubectl create secret generic crdb-data --namespace ${TFS_K8S_NAMESPACE} --type= printf "\n" echo ">>> Create Secret with Apache Kafka..." KFK_SERVER_PORT=$(kubectl --namespace ${KFK_NAMESPACE} get service kafka-service -o 'jsonpath={.spec.ports[0].port}') KFK_SERVER_PORT=$(kubectl --namespace ${KFK_NAMESPACE} get service kafka-public -o 'jsonpath={.spec.ports[0].port}') kubectl create secret generic kfk-kpi-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \ --from-literal=KFK_NAMESPACE=${KFK_NAMESPACE} \ --from-literal=KFK_SERVER_PORT=${KFK_SERVER_PORT} Loading Loading
.gitlab-ci.yml +3 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ include: - local: '/src/context/.gitlab-ci.yml' - local: '/src/device/.gitlab-ci.yml' - local: '/src/service/.gitlab-ci.yml' - local: '/src/qkd_app/.gitlab-ci.yml' - local: '/src/dbscanserving/.gitlab-ci.yml' - local: '/src/opticalattackmitigator/.gitlab-ci.yml' - local: '/src/opticalattackdetector/.gitlab-ci.yml' Loading Loading @@ -54,6 +55,8 @@ include: - local: '/src/qos_profile/.gitlab-ci.yml' - local: '/src/vnt_manager/.gitlab-ci.yml' - local: '/src/e2e_orchestrator/.gitlab-ci.yml' - local: '/src/ztp_server/.gitlab-ci.yml' - local: '/src/osm_client/.gitlab-ci.yml' # This should be last one: end-to-end integration tests - local: '/src/tests/.gitlab-ci.yml'
deploy/all.sh +20 −0 Original line number Diff line number Diff line Loading @@ -151,6 +151,26 @@ export NATS_DEPLOY_MODE=${NATS_DEPLOY_MODE:-"single"} export NATS_REDEPLOY=${NATS_REDEPLOY:-""} # ----- Apache Kafka ----------------------------------------------------------- # If not already set, set the namespace where Kafka will be deployed. export KFK_NAMESPACE=${KFK_NAMESPACE:-"kafka"} # If not already set, set the external port Kafka Client interface will be exposed to. export KFK_EXT_PORT_CLIENT=${KFK_EXT_PORT_CLIENT:-"9092"} # If not already set, set Kafka installation mode. Accepted values are: 'single'. # - If KFK_DEPLOY_MODE is "single", Kafka is deployed in single node mode. It is convenient for # development and testing purposes and should fit in a VM. IT SHOULD NOT BE USED IN PRODUCTION ENVIRONMENTS. # NOTE: Production mode is still not supported. Will be provided in the future. export KFK_DEPLOY_MODE=${KFK_DEPLOY_MODE:-"single"} # If not already set, disable flag for re-deploying Kafka from scratch. # WARNING: ACTIVATING THIS FLAG IMPLIES LOOSING THE MESSAGE BROKER INFORMATION! # If KFK_REDEPLOY is "YES", the message broker will be dropped while checking/deploying Kafka. export KFK_REDEPLOY=${KFK_REDEPLOY:-""} # ----- QuestDB ---------------------------------------------------------------- # If not already set, set the namespace where QuestDB will be deployed. Loading
deploy/crdb.sh +8 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ CRDB_MANIFESTS_PATH="manifests/cockroachdb" # Create a tmp folder for files modified during the deployment TMP_MANIFESTS_FOLDER="${TMP_FOLDER}/${CRDB_NAMESPACE}/manifests" mkdir -p $TMP_MANIFESTS_FOLDER mkdir -p ${TMP_MANIFESTS_FOLDER} function crdb_deploy_single() { echo "CockroachDB Namespace" Loading Loading @@ -105,6 +105,13 @@ function crdb_deploy_single() { sleep 1 done kubectl wait --namespace ${CRDB_NAMESPACE} --for=condition=Ready --timeout=300s pod/cockroachdb-0 # Wait for CockroachDB to notify "start_node_query" echo ">>> CockroachDB pods created. Waiting CockroachDB server to be started..." while ! kubectl --namespace ${CRDB_NAMESPACE} logs pod/cockroachdb-0 -c cockroachdb 2>&1 | grep -q 'start_node_query'; do printf "%c" "." sleep 1 done fi echo Loading
deploy/kafka.sh +87 −53 Original line number Diff line number Diff line Loading @@ -13,17 +13,26 @@ # See the License for the specific language governing permissions and # limitations under the License. ######################################################################################################################## # Read deployment settings ######################################################################################################################## # If not already set, set the namespace where Apache Kafka will be deployed. # If not already set, set the namespace where Kafka will be deployed. export KFK_NAMESPACE=${KFK_NAMESPACE:-"kafka"} # If not already set, set the port Apache Kafka server will be exposed to. export KFK_SERVER_PORT=${KFK_SERVER_PORT:-"9092"} # If not already set, set the external port Kafka client interface will be exposed to. export KFK_EXT_PORT_CLIENT=${KFK_EXT_PORT_CLIENT:-"9092"} # If not already set, set Kafka installation mode. Accepted values are: 'single'. # - If KFK_DEPLOY_MODE is "single", Kafka is deployed in single node mode. It is convenient for # development and testing purposes and should fit in a VM. IT SHOULD NOT BE USED IN PRODUCTION ENVIRONMENTS. # NOTE: Production mode is still not supported. Will be provided in the future. export KFK_DEPLOY_MODE=${KFK_DEPLOY_MODE:-"single"} # If not already set, if flag is YES, Apache Kafka will be redeployed and all topics will be lost. # If not already set, disable flag for re-deploying Kafka from scratch. # WARNING: ACTIVATING THIS FLAG IMPLIES LOOSING THE MESSAGE BROKER INFORMATION! # If KFK_REDEPLOY is "YES", the message broker will be dropped while checking/deploying Kafka. export KFK_REDEPLOY=${KFK_REDEPLOY:-""} Loading @@ -34,58 +43,83 @@ export KFK_REDEPLOY=${KFK_REDEPLOY:-""} # Constants TMP_FOLDER="./tmp" KFK_MANIFESTS_PATH="manifests/kafka" KFK_ZOOKEEPER_MANIFEST="01-zookeeper.yaml" KFK_MANIFEST="02-kafka.yaml" # Create a tmp folder for files modified during the deployment TMP_MANIFESTS_FOLDER="${TMP_FOLDER}/${KFK_NAMESPACE}/manifests" mkdir -p ${TMP_MANIFESTS_FOLDER} function kafka_deploy() { # copy zookeeper and kafka manifest files to temporary manifest location cp "${KFK_MANIFESTS_PATH}/${KFK_ZOOKEEPER_MANIFEST}" "${TMP_MANIFESTS_FOLDER}/${KFK_ZOOKEEPER_MANIFEST}" cp "${KFK_MANIFESTS_PATH}/${KFK_MANIFEST}" "${TMP_MANIFESTS_FOLDER}/${KFK_MANIFEST}" # echo "Apache Kafka Namespace" echo "Delete Apache Kafka Namespace" kubectl delete namespace ${KFK_NAMESPACE} --ignore-not-found echo "Create Apache Kafka Namespace" function kfk_deploy_single() { echo "Kafka Namespace" echo ">>> Create Kafka Namespace (if missing)" kubectl create namespace ${KFK_NAMESPACE} echo # echo ">>> Deplying Apache Kafka Zookeeper" # Kafka zookeeper service should be deployed before the kafka service kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/${KFK_ZOOKEEPER_MANIFEST}" #KFK_ZOOKEEPER_SERVICE="zookeeper-service" # this command may be replaced with command to extract service name automatically #KFK_ZOOKEEPER_IP=$(kubectl --namespace ${KFK_NAMESPACE} get service ${KFK_ZOOKEEPER_SERVICE} -o 'jsonpath={.spec.clusterIP}') echo "Kafka (single-mode)" echo ">>> Checking if Kafka is deployed..." if kubectl get --namespace ${KFK_NAMESPACE} statefulset/kafka &> /dev/null; then echo ">>> Kafka is present; skipping step." else echo ">>> Deploy Kafka" cp "${KFK_MANIFESTS_PATH}/single-node.yaml" "${TMP_MANIFESTS_FOLDER}/kfk_single_node.yaml" #sed -i "s/<KFK_NAMESPACE>/${KFK_NAMESPACE}/" "${TMP_MANIFESTS_FOLDER}/kfk_single_node.yaml" kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/kfk_single_node.yaml" echo ">>> Waiting Kafka statefulset to be created..." while ! kubectl get --namespace ${KFK_NAMESPACE} statefulset/kafka &> /dev/null; do printf "%c" "." sleep 1 done # Wait for statefulset condition "Available=True" does not work # Wait for statefulset condition "jsonpath='{.status.readyReplicas}'=3" throws error: # "error: readyReplicas is not found" # Workaround: Check the pods are ready #echo ">>> Kafka statefulset created. Waiting for readiness condition..." #kubectl wait --namespace ${KFK_NAMESPACE} --for=condition=Available=True --timeout=300s statefulset/kafka #kubectl wait --namespace ${KGK_NAMESPACE} --for=jsonpath='{.status.readyReplicas}'=3 --timeout=300s \ # statefulset/kafka echo ">>> Kafka statefulset created. Waiting Kafka pods to be created..." while ! kubectl get --namespace ${KFK_NAMESPACE} pod/kafka-0 &> /dev/null; do printf "%c" "." sleep 1 done kubectl wait --namespace ${KFK_NAMESPACE} --for=condition=Ready --timeout=300s pod/kafka-0 # Wait for Kafka to notify "Kafka Server started" echo ">>> Kafka pods created. Waiting Kafka Server to be started..." while ! kubectl --namespace ${KFK_NAMESPACE} logs pod/kafka-0 -c kafka 2>&1 | grep -q 'Kafka Server started'; do printf "%c" "." sleep 1 done fi echo } # Kafka service should be deployed after the zookeeper service #sed -i "s/<ZOOKEEPER_INTERNAL_IP>/${KFK_ZOOKEEPER_IP}/" "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST" sed -i "s/<KAFKA_NAMESPACE>/${KFK_NAMESPACE}/" "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST" # echo ">>> Deploying Apache Kafka Broker" kubectl --namespace ${KFK_NAMESPACE} apply -f "${TMP_MANIFESTS_FOLDER}/$KFK_MANIFEST" function kfk_undeploy_single() { echo "Kafka (single-mode)" echo ">>> Checking if Kafka is deployed..." if kubectl get --namespace ${KFK_NAMESPACE} statefulset/kafka &> /dev/null; then echo ">>> Undeploy Kafka" kubectl delete --namespace ${KFK_NAMESPACE} -f "${TMP_MANIFESTS_FOLDER}/kfk_single_node.yaml" --ignore-not-found else echo ">>> Kafka is not present; skipping step." fi echo # echo ">>> Verifing Apache Kafka deployment" sleep 5 # KFK_PODS_STATUS=$(kubectl --namespace ${KFK_NAMESPACE} get pods) # if echo "$KFK_PODS_STATUS" | grep -qEv 'STATUS|Running'; then # echo "Deployment Error: \n $KFK_PODS_STATUS" # else # echo "$KFK_PODS_STATUS" # fi echo "Kafka Namespace" echo ">>> Delete Kafka Namespace (if exists)" echo "NOTE: this step might take few minutes to complete!" kubectl delete namespace ${KFK_NAMESPACE} --ignore-not-found echo } echo ">>> Apache Kafka" echo "Checking if Apache Kafka is deployed ... " if [ "$KFK_DEPLOY_MODE" == "single" ]; then if [ "$KFK_REDEPLOY" == "YES" ]; then echo "Redeploying kafka namespace" kafka_deploy elif kubectl get namespace "${KFK_NAMESPACE}" &> /dev/null; then echo "Apache Kafka already present; skipping step." kfk_undeploy_single fi kfk_deploy_single else echo "Kafka namespace doesn't exists. Deploying kafka namespace" kafka_deploy echo "Unsupported value: KFK_DEPLOY_MODE=$KFK_DEPLOY_MODE" fi echo
deploy/tfs.sh +2 −28 Original line number Diff line number Diff line Loading @@ -51,12 +51,6 @@ export TFS_SKIP_BUILD=${TFS_SKIP_BUILD:-""} # If not already set, set the namespace where CockroackDB will be deployed. export CRDB_NAMESPACE=${CRDB_NAMESPACE:-"crdb"} # If not already set, set the external port CockroackDB Postgre SQL interface will be exposed to. export CRDB_EXT_PORT_SQL=${CRDB_EXT_PORT_SQL:-"26257"} # If not already set, set the external port CockroackDB HTTP Mgmt GUI interface will be exposed to. export CRDB_EXT_PORT_HTTP=${CRDB_EXT_PORT_HTTP:-"8081"} # If not already set, set the database username to be used by Context. export CRDB_USERNAME=${CRDB_USERNAME:-"tfs"} Loading @@ -69,27 +63,12 @@ export CRDB_PASSWORD=${CRDB_PASSWORD:-"tfs123"} # If not already set, set the namespace where NATS will be deployed. export NATS_NAMESPACE=${NATS_NAMESPACE:-"nats"} # If not already set, set the external port NATS Client interface will be exposed to. export NATS_EXT_PORT_CLIENT=${NATS_EXT_PORT_CLIENT:-"4222"} # If not already set, set the external port NATS HTTP Mgmt GUI interface will be exposed to. export NATS_EXT_PORT_HTTP=${NATS_EXT_PORT_HTTP:-"8222"} # ----- QuestDB ---------------------------------------------------------------- # If not already set, set the namespace where QuestDB will be deployed. export QDB_NAMESPACE=${QDB_NAMESPACE:-"qdb"} # If not already set, set the external port QuestDB Postgre SQL interface will be exposed to. export QDB_EXT_PORT_SQL=${QDB_EXT_PORT_SQL:-"8812"} # If not already set, set the external port QuestDB Influx Line Protocol interface will be exposed to. export QDB_EXT_PORT_ILP=${QDB_EXT_PORT_ILP:-"9009"} # If not already set, set the external port QuestDB HTTP Mgmt GUI interface will be exposed to. export QDB_EXT_PORT_HTTP=${QDB_EXT_PORT_HTTP:-"9000"} # If not already set, set the database username to be used for QuestDB. export QDB_USERNAME=${QDB_USERNAME:-"admin"} Loading @@ -114,14 +93,9 @@ export GRAF_EXT_PORT_HTTP=${GRAF_EXT_PORT_HTTP:-"3000"} # ----- Apache Kafka ------------------------------------------------------ # If not already set, set the namespace where Apache Kafka will be deployed. # If not already set, set the namespace where Kafka will be deployed. export KFK_NAMESPACE=${KFK_NAMESPACE:-"kafka"} # If not already set, set the port Apache Kafka server will be exposed to. export KFK_SERVER_PORT=${KFK_SERVER_PORT:-"9092"} # If not already set, if flag is YES, Apache Kafka will be redeployed and topic will be lost. export KFK_REDEPLOY=${KFK_REDEPLOY:-""} # ----- Telemetry Config ------------------------------------------------------ Loading Loading @@ -159,7 +133,7 @@ kubectl create secret generic crdb-data --namespace ${TFS_K8S_NAMESPACE} --type= printf "\n" echo ">>> Create Secret with Apache Kafka..." KFK_SERVER_PORT=$(kubectl --namespace ${KFK_NAMESPACE} get service kafka-service -o 'jsonpath={.spec.ports[0].port}') KFK_SERVER_PORT=$(kubectl --namespace ${KFK_NAMESPACE} get service kafka-public -o 'jsonpath={.spec.ports[0].port}') kubectl create secret generic kfk-kpi-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \ --from-literal=KFK_NAMESPACE=${KFK_NAMESPACE} \ --from-literal=KFK_SERVER_PORT=${KFK_SERVER_PORT} Loading