Verified Commit d85a97b3 authored by Xueshan Feng's avatar Xueshan Feng
Browse files

Added fluentd-cloudwatch with proper kubernetes secret for AWS cloudwatch.

parent abc8970a
Loading
Loading
Loading
Loading
+24 −16
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ ifndef TEMPLATES
	missing_vars := ${missing_vars} TEMPLATES
endif

-include vault-login

###################################
### Kubernetes dashboard provision
@@ -102,9 +103,9 @@ upgrade-heapster: ## Update heapster
destroy-heapster: ## Destroy heapster
	helm del heapster

##############################
###############
## External DNS
##############################
###############
.PHONY: external-dns
external-dns: ## Install external-dns
	@if ! helm status external-dns > /dev/null 2>&1; \
@@ -122,35 +123,43 @@ upgrade-external-dns: ## Update external-dns
destroy-extenral-dns: ## Destroy extenral-dns
	helm del extenral-dns

##############################
########################
## Fluentd-cloudwatch
##############################
########################
# Use debian image
# See https://github.com/fluent/fluentd-kubernetes-daemonset/issues/170
# We need to fetch the chart first to seed the AWS key and key_id

.PHONY: fetch-fluentd-cloudwatch-chart
fetch-fluentd-cloudwatch-chart: ## Fetch fluentd-cloudwatch-chart
	@mkdir -p ./build
	@helm fetch -d build/ --untar incubator/fluentd-cloudwatch
.PHONY: fluentd-cloudwatch-secret
 fluentd-cloudwatch-secret: ## Create secret files needed by fluentd
	@kubectl delete secret fluentd-cloudwatch -n kube-system --ignore-not-found
	@mkdir -p secrets
	vault-get ${SEC_PATH}/iam/aws_iam_access_key_deployment_secret > secrets/aws_secret_access_key
	vault-get ${SEC_PATH}/iam/aws_iam_access_key_deployment_id > secrets/aws_access_key_id
fluentd-cloudwatch-secret: SECDIR=./build/fluentd-cloudwatch/secrets
fluentd-cloudwatch-secret: fetch-fluentd-cloudwatch-chart ## Create secret files needed by fluentd
	kubectl delete secret fluentd-cloudwatch -n kube-system --ignore-not-found
	@mkdir -p ${TMPDIR}
	vault-get ${SEC_PATH}/iam/aws_iam_access_key_deployment_secret > ${SECDIR}/aws_secret_access_key
	vault-get ${SEC_PATH}/iam/aws_iam_access_key_deployment_id > ${SECDIR}/aws_access_key_id
.PHONY: fluentd-cloudwatch
fluentd-cloudwatch: fluentd-cloudwatch-secret ## Deploy fluentd-cloudwatch
	@helm install --name fluentd-cloudwatch --namespace kube-system \
		 --set awsRegion=${AWS_REGION} \
		 --set rbac.create=true \
		 --set image.tag=v1.2-debian-cloudwatch \
		incubator/fluentd-cloudwatch
		./build/fluentd-cloudwatch
	@kubectl get daemonset,pods -n kube-system -l k8s-app=fluentd
	@rm -rf secrets
	@rm -rf ./build/fluentd-cloudwatch/*

.PHONY: upgrade-fluentd-cloudwatch
upgrade-fluentd-cloudwatch: fluentd-cloudwatch-secret ## Update fluentd-cloudwatch
upgrade-fluentd-cloudwatch: fluentd-cloudwatch-secret ## Upgrade fluentd-cloudwatch
	helm upgrade --namespace=kube-system \
		--set awsRegion=${AWS_REGION} \
		--set rbac.create=true \
		--set image.tag=v1.2-debian-cloudwatch \
		fluentd-cloudwatch incubator/fluentd-cloudwatch
	@rm -rf secrets
		fluentd-cloudwatch ./build/fluentd-cloudwatch
	@rm -rf ./build/fluentd-cloudwatch/*

.PHONY: delete-fluentd-cloudwatch
delete-fluentd-cloudwatch: ## Delete fluentd-cloudwatch
	helm del --purge fluentd-cloudwatch
@@ -176,4 +185,3 @@ upgrade-nginx-ingress: ## Update nginx-ingress controller
.PHONY: delete-nginx-ingress
delete-nginx-ingress: ## Delete nginx-ingress
	@-helm delete --purge ${HELM_RELEASE_PREFIX}-nginx-Ingress