This is an automated email from the ASF dual-hosted git repository.
ywkim pushed a commit to branch cnb
in repository https://gitbox.apache.org/repos/asf/bigtop.git
The following commit(s) were added to refs/heads/cnb by this push:
new ff4ae5b BIGTOP-3256: Better initial setup via vagrant and kubectl
plugin
ff4ae5b is described below
commit ff4ae5b0f2a3033503c6140b704bd0822c56ef12
Author: Youngwoo Kim <[email protected]>
AuthorDate: Thu Oct 17 13:35:18 2019 +0900
BIGTOP-3256: Better initial setup via vagrant and kubectl plugin
---
README.md | 13 ++---
{kubernetes/kubectl => kubectl}/plugin/README.md | 0
kubectl/plugin/kubectl-bigtop | 63 ++++++++++++++++++++++++
kubernetes/kubectl/plugin/kubectl-bigtop | 17 -------
kubespray/vagrant/Vagrantfile | 5 +-
5 files changed, 71 insertions(+), 27 deletions(-)
diff --git a/README.md b/README.md
index abc870f..53c288b 100755
--- a/README.md
+++ b/README.md
@@ -112,16 +112,11 @@ $ vagrant up
```
$ vagrant ssh k8s-1
-k8s-1$ mkdir -p ~/.kube
-k8s-1$ sudo cp /etc/kubernetes/admin.conf .kube/config
-k8s-1$ sudo chown -R vagrant:vagrant .kube
-k8s-1$ kubectl cluster-info
-
-Kubernetes master is running at https://172.17.8.101:6443
-coredns is running at
https://172.17.8.101:6443/api/v1/namespaces/kube-system/services/coredns:dns/proxy
-kubernetes-dashboard is running at
https://172.17.8.101:6443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
+```
+```
+k8s-1$ kubectl plugin list
+k8s-1$ kubectl bigtop kubectl-config && kubectl bigtop helm-install
-To further debug and diagnose cluster problems, use 'kubectl cluster-info
dump'.
```
## Storage
diff --git a/kubernetes/kubectl/plugin/README.md b/kubectl/plugin/README.md
similarity index 100%
rename from kubernetes/kubectl/plugin/README.md
rename to kubectl/plugin/README.md
diff --git a/kubectl/plugin/kubectl-bigtop b/kubectl/plugin/kubectl-bigtop
new file mode 100755
index 0000000..89abf3c
--- /dev/null
+++ b/kubectl/plugin/kubectl-bigtop
@@ -0,0 +1,63 @@
+#!/usr/bin/env bash
+
+set -ex
+
+echo "Kubectl plugin for Apache Bigtop"
+
+BIGTOP_HOME=${BIGTOP_HOME:-/bigtop}
+
+
+detect_java() {
+ # detect JAVA_HOME
+ source
$BIGTOP_HOME/bigtop-packages/src/common/bigtop-utils/bigtop-detect-javahome
+
+ if [ -x "$JAVA_HOME/bin/java" ]; then
+ JAVA="$JAVA_HOME/bin/java"
+ else
+ JAVA=`which java`
+ fi
+
+ if [ -z "$JAVA" ]; then
+ echo "could not find java; set JAVA_HOME or ensure java is in PATH"
+ exit 1
+ fi
+}
+
+# version of Bigtop plugin
+if [[ "$1" == "version" ]]; then
+ # FIXME
+ echo "9.9.9"
+ exit 0
+fi
+
+# Configure kubectl
+if [[ "$1" == "kubectl-config" ]]; then
+ # FIXME
+ if [[ ! -f "$HOME/.kube/config" ]]; then
+ echo "configuring kubectl..."
+ sudo mkdir -p ~/.kube
+ sudo cp /etc/kubernetes/admin.conf ~/.kube/config
+ sudo chown -R $USER:$USER ~/.kube
+ kubectl config view
+ fi
+fi
+
+# Cluster info
+if [[ "$1" == "cluster-info" ]]; then
+ kubectl cluster-info
+ exit 0
+fi
+
+# Install Helm
+if [[ "$1" == "helm-install" ]]; then
+ curl -L https://git.io/get_helm.sh | bash
+ helm version -c
+ kubectl --namespace kube-system create serviceaccount tiller
+ kubectl create clusterrolebinding tiller-cluster-rule
--clusterrole=cluster-admin --serviceaccount=kube-system:tiller
+ helm init --history-max 200
+ sleep 10s
+ kubectl --namespace kube-system patch deploy tiller-deploy -p
'{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
+ sleep 10s
+ helm version
+ exit 0
+fi
diff --git a/kubernetes/kubectl/plugin/kubectl-bigtop
b/kubernetes/kubectl/plugin/kubectl-bigtop
deleted file mode 100755
index 6dd2040..0000000
--- a/kubernetes/kubectl/plugin/kubectl-bigtop
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-
-echo "Kubectl plugin for Apache Bigtop"
-
-# version of Bigtop plugin
-if [[ "$1" == "version" ]]
-then
- echo "2.0.0"
- exit 0
-fi
-
-if [[ "$1" == "cluster-info" ]]
-then
- kubectl cluster-info
- exit 0
-fi
-
diff --git a/kubespray/vagrant/Vagrantfile b/kubespray/vagrant/Vagrantfile
index 9702059..99131d5 100644
--- a/kubespray/vagrant/Vagrantfile
+++ b/kubespray/vagrant/Vagrantfile
@@ -178,6 +178,9 @@ Vagrant.configure("2") do |config|
# Disable swap for each vm
node.vm.provision "shell", inline: "swapoff -a"
+ node.vm.provision "shell", inline: "yum install -y lvm2"
+ node.vm.provision "shell", inline: "sudo cp
/bigtop/kubectl/plugin/kubectl-bigtop /usr/local/bin/ ; sudo chmod +x
/usr/local/bin/kubectl-bigtop"
+
host_vars[vm_name] = {
"ip": ip,
"flannel_interface": "eth1",
@@ -219,7 +222,7 @@ Vagrant.configure("2") do |config|
"kube-node" =>
["#{$instance_name_prefix}-[1:#{$kube_node_instances}]"],
"k8s-cluster:children" => ["kube-master", "kube-node"],
}
- end
+ end
end
end