diff options
author | Staffan Olsson <staffan@repos.se> | 2018-01-08 16:15:45 +0100 |
---|---|---|
committer | Staffan Olsson <staffan@repos.se> | 2018-01-08 16:15:45 +0100 |
commit | cc27bc113cfe2d295a59336236ea4d69ca4c38f3 (patch) | |
tree | 58d4492daf234cabb824eecbaedd0c41738f93e1 | |
parent | f76e192ab4cdd5d0cc833690276a5eb3e7aa715d (diff) | |
download | kubernetes-kafka-cc27bc113cfe2d295a59336236ea4d69ca4c38f3.tar.gz kubernetes-kafka-cc27bc113cfe2d295a59336236ea4d69ca4c38f3.tar.bz2 kubernetes-kafka-cc27bc113cfe2d295a59336236ea4d69ca4c38f3.zip |
Sets all labels at the end of the init script,broker-init-pod-labler
to speed up a bit and reduce the risk that it interferes with actual config.
Also if the init script goes crash looping you won't get warnings about
labels already being set.
-rw-r--r-- | kafka/10broker-config.yml | 13 | ||||
-rw-r--r-- | rbac-namespace-default/pod-labler.yml | 1 |
2 files changed, 8 insertions, 6 deletions
diff --git a/kafka/10broker-config.yml b/kafka/10broker-config.yml index 55a0c3b..2846232 100644 --- a/kafka/10broker-config.yml +++ b/kafka/10broker-config.yml @@ -11,6 +11,8 @@ data: KAFKA_BROKER_ID=${HOSTNAME##*-} sed -i "s/#init#broker.id=#init#/broker.id=$KAFKA_BROKER_ID/" /etc/kafka/server.properties + LABELS="kafka-broker-id=$KAFKA_BROKER_ID" + hash kubectl 2>/dev/null || { sed -i "s/#init#broker.rack=#init#/#init#broker.rack=# kubectl not found in path/" /etc/kafka/server.properties } && { @@ -21,19 +23,20 @@ data: sed -i "s/#init#broker.rack=#init#/#init#broker.rack=# zone label not found for node $NODE_NAME/" /etc/kafka/server.properties else sed -i "s/#init#broker.rack=#init#/broker.rack=$ZONE/" /etc/kafka/server.properties - kubectl -n $POD_NAMESPACE label pod $POD_NAME kafka-broker-rack=$ZONE + LABELS="$LABELS kafka-broker-rack=$ZONE" fi - kubectl -n $POD_NAMESPACE label pod $POD_NAME kafka-broker-id=$KAFKA_BROKER_ID - OUTSIDE_HOST=$(kubectl get node "$NODE_NAME" -o jsonpath='{.status.addresses[?(@.type=="InternalIP")].address}') if [ $? -ne 0 ]; then echo "Outside (i.e. cluster-external access) host lookup command failed" else OUTSIDE_PORT=3240${KAFKA_BROKER_ID} sed -i "s|#init#advertised.listeners=OUTSIDE://#init#|advertised.listeners=OUTSIDE://${OUTSIDE_HOST}:${OUTSIDE_PORT}|" /etc/kafka/server.properties - kubectl -n $POD_NAMESPACE label pod $POD_NAME kafka-listener-outside-host=$OUTSIDE_HOST - kubectl -n $POD_NAMESPACE label pod $POD_NAME kafka-listener-outside-port=$OUTSIDE_PORT + LABELS="$LABELS kafka-listener-outside-host=$OUTSIDE_HOST kafka-listener-outside-port=$OUTSIDE_PORT" + fi + + if [ ! -z "$LABELS" ]; then + kubectl -n $POD_NAMESPACE label pod $POD_NAME $LABELS || echo "Failed to label $POD_NAMESPACE.$POD_NAME - RBAC issue?" fi } diff --git a/rbac-namespace-default/pod-labler.yml b/rbac-namespace-default/pod-labler.yml index 92745af..bd488b0 100644 --- a/rbac-namespace-default/pod-labler.yml +++ b/rbac-namespace-default/pod-labler.yml @@ -2,7 +2,6 @@ # # $ kubectl -n kafka logs kafka-2 -c init-config # ... -# + kubectl -n kafka label pod kafka-2 kafka-broker-id=2 # Error from server (Forbidden): pods "kafka-2" is forbidden: User "system:serviceaccount:kafka:default" cannot get pods in the namespace "kafka": Unknown user "system:serviceaccount:kafka:default" # --- |