Verified Commit 23e1bf74 authored by Xueshan Feng's avatar Xueshan Feng
Browse files

merged kube-cluster and node-cluster.

parent cf299c6f
Loading
Loading
Loading
Loading
+41 −1
Original line number Diff line number Diff line
@@ -54,3 +54,43 @@ destroy-heapster: ## Install heapster
.PHONY: check-images ## check all running images
check-images: ## check all running images
	kube-images-report.sh

ifndef TILLER_IMAGE
	TILLER_IMAGE := gcr.io/kubernetes-helm/tiller:v2.7.2
endif

.PHONY: cordon
cordon: NODES = $(shell kubectl get node -o json  | jq -r '.items[].metadata.name')
cordon: ## Disable scheduling on a node
	kubectl get nodes
	@for i in ${NODES}; do \
		echo "" ; \
		echo "Cordon $$i?" ; \
		confirm 2> /dev/null || continue ; \
		kubectl cordon $$i ; \
		kubectl drain $$i --ignore-daemonsets --delete-local-data ; \
	done

.PHONY: uncordon
uncordon: NODES = $(shell kubectl get node -o json  | jq -r '.items[].metadata.name')
uncordon: ## Enable scheduling on a node
	kubectl get nodes
	@for i in ${NODES}; do \
		echo "" ; \
		echo "Uncordon $$i?" ; \
		confirm 2> /dev/null || continue ; \
		kubectl uncordon $$i ; \
	done

.PHONY: cluster-upgrade-nodes
recycle-node: NODES = $(shell kubectl get node -o json  | jq -r '.items[].metadata.name')
recycle-node: ## Replace node with a new instance
	kubectl get nodes
	@for i in ${NODES}; do \
		echo "" ; \
		echo "Recycle $$i?" ; \
		confirm 2> /dev/null || continue ; \
		external_id=`kubectl describe node $$i |grep ExternalID | awk '{print $$2}'` ; \
		aws autoscaling terminate-instance-in-auto-scaling-group  \
		  --instance-id $$external_id --no-should-decrement-desired-capacity ; \
	done

makefile_parts/node-cluster.mk

deleted100644 → 0
+0 −79
Original line number Diff line number Diff line


################################################################################
## kube-cluster.mk
# Makefile targets useful for kube cluster ops
################################################################################

# ifndef GCP_ENVIRONMENT
# 	missing_vars := ${missing_vars} GCP_ENVIRONMENT
# endif

ifndef CLUSTER_NAME
	missing_vars := ${missing_vars} CLUSTER_NAME
endif

# ifndef GKE_CLUSTER_ZONE
# 	missing_vars := ${missing_vars} GKE_CLUSTER_ZONE
# endif

ifndef TILLER_IMAGE
	TILLER_IMAGE := gcr.io/kubernetes-helm/tiller:v2.7.2
endif

.PHONY: cordon
cordon: NODES = $(shell kubectl get node -o json  | jq -r '.items[].metadata.name')
cordon: ## Disable scheduling on a node
	kubectl get nodes
	@for i in ${NODES}; do \
		echo "" ; \
		echo "Cordon $$i?" ; \
		confirm 2> /dev/null || continue ; \
		kubectl cordon $$i ; \
		kubectl drain $$i --ignore-daemonsets --delete-local-data ; \
	done

.PHONY: uncordon
uncordon: NODES = $(shell kubectl get node -o json  | jq -r '.items[].metadata.name')
uncordon: ## Enable scheduling on a node
	kubectl get nodes
	@for i in ${NODES}; do \
		echo "" ; \
		echo "Uncordon $$i?" ; \
		confirm 2> /dev/null || continue ; \
		kubectl uncordon $$i ; \
	done

.PHONY: cluster-upgrade-nodes
recycle-node: NODES = $(shell kubectl get node -o json  | jq -r '.items[].metadata.name')
recycle-node: ## Replace node with a new instance
	kubectl get nodes
	@for i in ${NODES}; do \
		echo "" ; \
		echo "Recycle $$i?" ; \
		confirm 2> /dev/null || continue ; \
		external_id=`kubectl describe node $$i |grep ExternalID | awk '{print $$2}'` ; \
		aws autoscaling terminate-instance-in-auto-scaling-group  \
		  --instance-id $$external_id --no-should-decrement-desired-capacity ; \
	done

.PHONY: get-images
get-images: config-kube ## List all images running in the cluster
    @kubectl get pods --all-namespaces -o jsonpath="{..image}" | tr -s '[[:space:]]' '\n' | sort | uniq -c

.PHONY: tiller
tiller: KUBECONFIG = $$HOME/.kube/${CLUSTER_NAME}
tiller: ## Instal Helm tiller controller
	helm init --upgrade && helm version

.PHONY: delete-tiller
delete-tiller: ## Uninstall tiller
	kubectl delete deployment tiller-deploy -n kube-system --ignore-not-found

.PHONY: tag-nodes
tag-nodes: config-kube ## tag the cluster nodes for NAT
	tag-nodes-for-nat.sh ${GCP_NAT_TAGS}

.PHONY: check-images ## check all running images
check-images: config-kube
	kube-images-report.sh