From e127ff03159de25f65f0c90331a8e0344c0fe1f4 Mon Sep 17 00:00:00 2001 From: Soby Chacko Date: Wed, 12 Feb 2020 11:22:38 -0500 Subject: [PATCH] Changes for moving to vSphere K8S --- .../http-transfomer-log/http-svc.yaml | 2 +- .../http-transfomer-log/http.yaml | 2 +- .../http-transfomer-log/log-svc-lb.yaml | 2 +- .../http-transfomer-log/log.yaml | 2 +- .../transform-processor-kafka-svc-lb.yaml | 2 +- .../transform-processor-kafka.yaml | 2 +- .../k8s-templates/kafka-deployment.yaml | 2 +- kubernetes/k8s-templates/kafka-svc.yaml | 2 +- .../k8s-templates/kafka-zk-deployment.yaml | 2 +- kubernetes/k8s-templates/kafka-zk-svc.yaml | 2 +- kubernetes/k8s-templates/log-svc-lb.yaml | 2 +- kubernetes/k8s-templates/log.yaml | 2 +- kubernetes/k8s-templates/time-svc-lb.yaml | 2 +- kubernetes/k8s-templates/time.yaml | 2 +- kubernetes/runK8SAcceptanceTests.sh | 109 ++---------------- 15 files changed, 26 insertions(+), 111 deletions(-) diff --git a/kubernetes/k8s-templates/http-transfomer-log/http-svc.yaml b/kubernetes/k8s-templates/http-transfomer-log/http-svc.yaml index 9577d2b..43dd6fa 100644 --- a/kubernetes/k8s-templates/http-transfomer-log/http-svc.yaml +++ b/kubernetes/k8s-templates/http-transfomer-log/http-svc.yaml @@ -8,7 +8,7 @@ metadata: type: stream-ats spring-deployment-id: http-source spec: - type: NodePort + type: LoadBalancer ports: - port: 80 name: http-source-port diff --git a/kubernetes/k8s-templates/http-transfomer-log/http.yaml b/kubernetes/k8s-templates/http-transfomer-log/http.yaml index 94d6225..4c2bc19 100644 --- a/kubernetes/k8s-templates/http-transfomer-log/http.yaml +++ b/kubernetes/k8s-templates/http-transfomer-log/http.yaml @@ -26,7 +26,7 @@ spec: value: kafka-zk:2181 - name: SPRING_CLOUD_STREAM_BINDINGS_OUTPUT_DESTINATION value: http-out - - name: LOGGING_FILE + - name: LOGGING_FILE_NAME value: http-source.log - name: MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE value: logfile,health,info diff --git a/kubernetes/k8s-templates/http-transfomer-log/log-svc-lb.yaml b/kubernetes/k8s-templates/http-transfomer-log/log-svc-lb.yaml index e6541a5..571ea1d 100644 --- a/kubernetes/k8s-templates/http-transfomer-log/log-svc-lb.yaml +++ b/kubernetes/k8s-templates/http-transfomer-log/log-svc-lb.yaml @@ -8,7 +8,7 @@ metadata: type: stream-ats spring-deployment-id: log spec: - type: NodePort + type: LoadBalancer ports: - port: 80 name: log-port diff --git a/kubernetes/k8s-templates/http-transfomer-log/log.yaml b/kubernetes/k8s-templates/http-transfomer-log/log.yaml index acc3d48..00d6249 100644 --- a/kubernetes/k8s-templates/http-transfomer-log/log.yaml +++ b/kubernetes/k8s-templates/http-transfomer-log/log.yaml @@ -28,7 +28,7 @@ spec: value: transformer-out - name: LOG_EXPRESSION value: "'From Transformer: '.concat(payload)" - - name: LOGGING_FILE + - name: LOGGING_FILE_NAME value: log-sink.log - name: MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE value: logfile,health,info diff --git a/kubernetes/k8s-templates/http-transfomer-log/transform-processor-kafka-svc-lb.yaml b/kubernetes/k8s-templates/http-transfomer-log/transform-processor-kafka-svc-lb.yaml index 1e56a21..51d34fb 100644 --- a/kubernetes/k8s-templates/http-transfomer-log/transform-processor-kafka-svc-lb.yaml +++ b/kubernetes/k8s-templates/http-transfomer-log/transform-processor-kafka-svc-lb.yaml @@ -8,7 +8,7 @@ metadata: component: transform-processor-kafka spring-deployment-id: transform-processor spec: - type: NodePort + type: LoadBalancer ports: - port: 80 name: transform-processor-kafka-port diff --git a/kubernetes/k8s-templates/http-transfomer-log/transform-processor-kafka.yaml b/kubernetes/k8s-templates/http-transfomer-log/transform-processor-kafka.yaml index 9f7be2a..b104b2f 100644 --- a/kubernetes/k8s-templates/http-transfomer-log/transform-processor-kafka.yaml +++ b/kubernetes/k8s-templates/http-transfomer-log/transform-processor-kafka.yaml @@ -31,7 +31,7 @@ spec: value: transformer-out - name: TRANSFORMER_EXPRESSION value: payload.toUpperCase() - - name: LOGGING_FILE + - name: LOGGING_FILE_NAME value: transform-processor-kafka.log - name: MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE value: logfile,health,info diff --git a/kubernetes/k8s-templates/kafka-deployment.yaml b/kubernetes/k8s-templates/kafka-deployment.yaml index aa550cd..bb8a934 100644 --- a/kubernetes/k8s-templates/kafka-deployment.yaml +++ b/kubernetes/k8s-templates/kafka-deployment.yaml @@ -4,7 +4,7 @@ metadata: name: kafka-broker labels: app: kafka - type: stream-ats-kafka + type: stream-ats component: kafka-broker spec: replicas: 1 diff --git a/kubernetes/k8s-templates/kafka-svc.yaml b/kubernetes/k8s-templates/kafka-svc.yaml index c8303d4..52f1120 100644 --- a/kubernetes/k8s-templates/kafka-svc.yaml +++ b/kubernetes/k8s-templates/kafka-svc.yaml @@ -5,7 +5,7 @@ metadata: labels: app: kafka component: kafka-broker - type: stream-ats-kafka + type: stream-ats spec: ports: - port: 9092 diff --git a/kubernetes/k8s-templates/kafka-zk-deployment.yaml b/kubernetes/k8s-templates/kafka-zk-deployment.yaml index d0355a5..3ad05ac 100644 --- a/kubernetes/k8s-templates/kafka-zk-deployment.yaml +++ b/kubernetes/k8s-templates/kafka-zk-deployment.yaml @@ -4,7 +4,7 @@ metadata: name: kafka-zk labels: app: kafka - type: stream-ats-kafka + type: stream-ats component: kafka-zk spec: replicas: 1 diff --git a/kubernetes/k8s-templates/kafka-zk-svc.yaml b/kubernetes/k8s-templates/kafka-zk-svc.yaml index 7d2b15c..3d82a5a 100644 --- a/kubernetes/k8s-templates/kafka-zk-svc.yaml +++ b/kubernetes/k8s-templates/kafka-zk-svc.yaml @@ -5,7 +5,7 @@ metadata: labels: app: kafka component: kafka-zk - type: stream-ats-kafka + type: stream-ats spec: ports: - name: client diff --git a/kubernetes/k8s-templates/log-svc-lb.yaml b/kubernetes/k8s-templates/log-svc-lb.yaml index e6541a5..571ea1d 100644 --- a/kubernetes/k8s-templates/log-svc-lb.yaml +++ b/kubernetes/k8s-templates/log-svc-lb.yaml @@ -8,7 +8,7 @@ metadata: type: stream-ats spring-deployment-id: log spec: - type: NodePort + type: LoadBalancer ports: - port: 80 name: log-port diff --git a/kubernetes/k8s-templates/log.yaml b/kubernetes/k8s-templates/log.yaml index 3b5c096..db29eb6 100644 --- a/kubernetes/k8s-templates/log.yaml +++ b/kubernetes/k8s-templates/log.yaml @@ -28,7 +28,7 @@ spec: value: foo - name: LOG_EXPRESSION value: "'TICKTOCK - TIMESTAMP: '.concat(payload)" - - name: LOGGING_FILE + - name: LOGGING_FILE_NAME value: log-sink.log - name: MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE value: logfile,health,info diff --git a/kubernetes/k8s-templates/time-svc-lb.yaml b/kubernetes/k8s-templates/time-svc-lb.yaml index ea407ff..b186982 100644 --- a/kubernetes/k8s-templates/time-svc-lb.yaml +++ b/kubernetes/k8s-templates/time-svc-lb.yaml @@ -8,7 +8,7 @@ metadata: type: stream-ats spring-deployment-id: time spec: - type: NodePort + type: LoadBalancer ports: - port: 80 name: time-port diff --git a/kubernetes/k8s-templates/time.yaml b/kubernetes/k8s-templates/time.yaml index ce67a12..2caa23b 100644 --- a/kubernetes/k8s-templates/time.yaml +++ b/kubernetes/k8s-templates/time.yaml @@ -26,7 +26,7 @@ spec: value: kafka-zk:2181 - name: SPRING_CLOUD_STREAM_BINDINGS_OUTPUT_DESTINATION value: foo - - name: LOGGING_FILE + - name: LOGGING_FILE_NAME value: time-source.log - name: MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE value: logfile,health,info diff --git a/kubernetes/runK8SAcceptanceTests.sh b/kubernetes/runK8SAcceptanceTests.sh index be7128e..0c0c20f 100755 --- a/kubernetes/runK8SAcceptanceTests.sh +++ b/kubernetes/runK8SAcceptanceTests.sh @@ -1,11 +1,9 @@ #!/bin/bash -# First argument is GKE Project -# Second argument is GKE Cluster -# Third argument is GKE Zone -# Fourth arg namespace -# Fifth arg is base domain +# Following env vars needs to be defined +#KUBECONFIG=/path/to/cluster/kubeconfig +#CLUSTER_NAME=the-cluster-name pushd () { command pushd "$@" > /dev/null @@ -37,8 +35,8 @@ function prepare_ticktock_latest_with_kafka_binder() { kubectl create -f k8s-templates/log.yaml kubectl create -f k8s-templates/log-svc-lb.yaml - TIME_SOURCE_SERVER_URI=https://time.${CLUSTER_NAME}.${BASE_DOMAIN} - LOG_SINK_SERVER_URI=https://log.${CLUSTER_NAME}.${BASE_DOMAIN} + TIME_SOURCE_SERVER_URI=http://$(kubectl get service time | awk '{print $4}' | grep -v EXTERNAL-IP) + LOG_SINK_SERVER_URI=http://$(kubectl get service log | awk '{print $4}' | grep -v EXTERNAL-IP) $(wait_for_200 ${TIME_SOURCE_SERVER_URI}/actuator/logfile) $(wait_for_200 ${LOG_SINK_SERVER_URI}/actuator/logfile) @@ -53,9 +51,9 @@ function prepare_http_transform_log_with_kafka_binder() { kubectl create -f k8s-templates/http-transfomer-log/log.yaml kubectl create -f k8s-templates/http-transfomer-log/log-svc-lb.yaml - HTTP_SOURCE_SERVER_URI=https://http-source.${CLUSTER_NAME}.${BASE_DOMAIN} - TRANSFORMER_PROCESSOR_SERVER_URI=https://transform-processor-kafka.${CLUSTER_NAME}.${BASE_DOMAIN} - LOG_SINK_SERVER_URI=https://log.${CLUSTER_NAME}.${BASE_DOMAIN} + HTTP_SOURCE_SERVER_URI=http://$(kubectl get service http-source | awk '{print $4}' | grep -v EXTERNAL-IP) + TRANSFORMER_PROCESSOR_SERVER_URI=http://$(kubectl get service transform-processor-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) + LOG_SINK_SERVER_URI=http://$(kubectl get service log | awk '{print $4}' | grep -v EXTERNAL-IP) $(wait_for_200 ${HTTP_SOURCE_SERVER_URI}/actuator/logfile) $(wait_for_200 ${TRANSFORMER_PROCESSOR_SERVER_URI}/actuator/logfile) @@ -63,49 +61,6 @@ function prepare_http_transform_log_with_kafka_binder() { curl -X POST -H "Content-Type: text/plain" --data "foobar" $HTTP_SOURCE_SERVER_URI } -# -#function prepare_partitioning_test_with_kafka_binder() { -# -# kubectl create -f k8s-templates/partitioning-consumer1-sample-kafka.yaml -# kubectl create -f k8s-templates/partitioning-consumer1-sample-kafka-svc-lb.yaml -# -# kubectl create -f k8s-templates/partitioning-consumer2-sample-kafka.yaml -# kubectl create -f k8s-templates/partitioning-consumer2-sample-kafka-svc-lb.yaml -# -# kubectl create -f k8s-templates/partitioning-consumer3-sample-kafka.yaml -# kubectl create -f k8s-templates/partitioning-consumer3-sample-kafka-svc-lb.yaml -# -# kubectl create -f k8s-templates/partitioning-producer-sample-kafka.yaml -# kubectl create -f k8s-templates/partitioning-producer-sample-kafka-svc-lb.yaml -# -# -# READY_FOR_TESTS=1 -# for i in $( seq 1 "${RETRIES}" ); do -# PARTITIONING_PRODUCER_SERVER_URI=$(kubectl get service partitioning-producer-sample-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) -# PARTITIONING_CONSUMER1_SERVER_URI=$(kubectl get service partitioning-consumer1-sample-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) -# PARTITIONING_CONSUMER2_SERVER_URI=$(kubectl get service partitioning-consumer2-sample-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) -# PARTITIONING_CONSUMER3_SERVER_URI=$(kubectl get service partitioning-consumer3-sample-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) -# [ '' != $PARTITIONING_PRODUCER_SERVER_URI ] && [ '' != $PARTITIONING_CONSUMER1_SERVER_URI ] && [ '' != $PARTITIONING_CONSUMER2_SERVER_URI ] && [ '' != $PARTITIONING_CONSUMER3_SERVER_URI ] && READY_FOR_TESTS=0 && break -# echo "Waiting for server external ip for partitioning producer/consumer apps. Attempt #$i/${RETRIES}... will try again in [${WAIT_TIME}] seconds" >&2 -# sleep "${WAIT_TIME}" -# done -# -# PARTITIONING_PRODUCER_SERVER_URI=$(kubectl get service partitioning-producer-sample-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) -# PARTITIONING_CONSUMER1_SERVER_URI=$(kubectl get service partitioning-consumer1-sample-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) -# PARTITIONING_CONSUMER2_SERVER_URI=$(kubectl get service partitioning-consumer2-sample-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) -# PARTITIONING_CONSUMER3_SERVER_URI=$(kubectl get service partitioning-consumer3-sample-kafka | awk '{print $4}' | grep -v EXTERNAL-IP) -# -# $(netcat_port ${PARTITIONING_PRODUCER_SERVER_URI} 80) -# $(netcat_port ${PARTITIONING_CONSUMER1_SERVER_URI} 80) -# $(netcat_port ${PARTITIONING_CONSUMER2_SERVER_URI} 80) -# $(netcat_port ${PARTITIONING_CONSUMER3_SERVER_URI} 80) -# -# FULL_PARTITIONING_PRODUCER_ROUTE=http://$PARTITIONING_PRODUCER_SERVER_URI -# FULL_PARTITIONING_CONSUMER1_ROUTE=http://$PARTITIONING_CONSUMER1_SERVER_URI -# FULL_PARTITIONING_CONSUMER2_ROUTE=http://$PARTITIONING_CONSUMER2_SERVER_URI -# FULL_PARTITIONING_CONSUMER3_ROUTE=http://$PARTITIONING_CONSUMER3_SERVER_URI -#} - function delete_acceptance_test_components() { @@ -119,17 +74,11 @@ SECONDS=0 WAIT_TIME="${WAIT_TIME:-5}" RETRIES="${RETRIES:-60}" -PROJECT_NAME=$1 -CLUSTER_NAME=$2 -GKE_ZONE=$3 -NAMESPACE=$4 -BASE_DOMAIN=$5 +if [[ -z "${KUBERNETES_NAMESPACE}" ]]; then + export KUBERNETES_NAMESPACE='default' +fi -gcloud container clusters get-credentials ${CLUSTER_NAME} --zone ${GKE_ZONE} --project ${PROJECT_NAME} - -C_TMP=$(kubectl config get-contexts | grep ${CLUSTER_NAME} | awk '{print $2}') -kubectl config use-context $C_TMP -kubectl config set-context $C_TMP --namespace ${NAMESPACE} +kubectl config set-context ${CLUSTER_NAME} --namespace ${KUBERNETES_NAMESPACE} kubectl create -f k8s-templates/kafka-zk-deployment.yaml kubectl create -f k8s-templates/kafka-zk-svc.yaml @@ -176,43 +125,9 @@ then echo "Total time: Build took $(($duration / 60)) minutes and $(($duration % 60)) seconds to complete." - delete_kafka_components - sleep 60 - delete_test_cluster ${CLUSTER_NAME} ${GKE_ZONE} ${PROJECT_NAME} - exit $BUILD_RETURN_VALUE fi -#prepare_partitioning_test_with_kafka_binder ${PROJECT_NAME} ${CLUSTER_NAME} ${GKE_ZONE} ${CLUSTER_VERSION} -# -#pushd ../spring-cloud-stream-acceptance-tests -# -#../mvnw clean package -Dtest=PartitioningKafkaAcceptanceTests -Dmaven.test.skip=false -Dpartitioning.producer.route=$FULL_PARTITIONING_PRODUCER_ROUTE -Dpartitioning.consumer1.route=$FULL_PARTITIONING_CONSUMER1_ROUTE -Dpartitioning.consumer2.route=$FULL_PARTITIONING_CONSUMER2_ROUTE -Dpartitioning.consumer3.route=$FULL_PARTITIONING_CONSUMER3_ROUTE -#BUILD_RETURN_VALUE=$? -# -#popd -# -#delete_acceptance_test_components -# -#if [ "$BUILD_RETURN_VALUE" != 0 ] -#then -# echo "Early exit due to test failure in ticktock tests" -# duration=$SECONDS -# -# echo "Total time: Build took $(($duration / 60)) minutes and $(($duration % 60)) seconds to complete." -# -# delete_kafka_components -# sleep 60 -# delete_test_cluster ${CLUSTER_NAME} ${GKE_ZONE} ${PROJECT_NAME} -# -# exit $BUILD_RETURN_VALUE -#fi - -#delete_kafka_components -#delete_test_cluster ${CLUSTER_NAME} ${GKE_ZONE} ${PROJECT_NAME} - -kubectl delete pod,deployment,rc,service -l type=stream-ats-kafka - duration=$SECONDS echo "Cumulative Build Time Across All Tests: Build took $(($duration / 60)) minutes and $(($duration % 60)) seconds to complete."