1
1
#! /bin/sh
2
+
3
+ CURL_CMD=$( which curl)
4
+ YUM_CMD=$( which yum)
5
+ DNF_CMD=$( which dnf)
6
+ APT_GET_CMD=$( which apt-get)
7
+ PACMAN_CMD=$( which pacman)
8
+ APK_CMD=$( which apk)
9
+ GIT_CMD=$( which git)
10
+ SUDO_CMD=$( which sudo)
2
11
3
- YUM_CMD=$( which yum) # yum package manager for RHEL & CentOS
4
- DNF_CMD=$( which dnf) # dnf package manager for new RHEL & CentOS
5
- APT_GET_CMD=$( which apt-get) # apt package manager for Ubuntu & other Debian based distributions
6
- PACMAN_CMD=$( which pacman) # pacman package manager for ArchLinux
7
- APK_CMD=$( which apk) # apk package manager for Alpine
12
+ USER=" $( id -un 2> /dev/null || true) "
13
+ SUDO=' '
14
+ if [ " $USER " != ' root' ]; then
15
+ if [ ! -z $SUDO_CMD ]; then
16
+ SUDO=' sudo'
17
+ else
18
+ cat >&2 << -'EOF '
19
+ Error: this installer needs the ability to run commands as root.
20
+ We are unable to find "sudo". Make sure its available to make this happen
21
+ EOF
22
+ exit 1
23
+ fi
24
+ fi
8
25
9
- if [ ! -z $APT_GET_CMD ]; then
10
- sudo apt-get update && sudo apt-get install -y apt-transport-https
11
- curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
12
- echo " deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
13
- sudo apt-get update
14
- sudo apt-get install -y kubectl
15
- elif [ ! -z $YUM_CMD ]; then
16
- sudo cat << EOF > /etc/yum.repos.d/kubernetes.repo
17
- [kubernetes]
18
- name=Kubernetes
19
- baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
20
- enabled=1
21
- gpgcheck=1
22
- repo_gpgcheck=1
23
- gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
24
- EOF
25
- sudo yum install -y kubectl
26
- elif [ ! -z $APK_CMD ]; then
27
- sudo apk add --no-cache curl ca-certificates && sudo apk add --update -t deps curl
28
- curl -L https://storage.googleapis.com/kubernetes-release/release/v1.13.3/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl
29
- chmod +x /usr/local/bin/kubectl
30
- else
31
- echo "Couldn't install package"
32
- exit 1;
33
- fi
26
+ RESET=' [0m'
27
+ RED=' [0;31m'
28
+ GREEN=' [0;32m'
29
+ YELLOW=' [0;33m'
30
+ log () {
31
+ echo " [` date " +%Y.%m.%d-%H:%M:%S%Z" ` ]$1 $2 "
32
+ }
33
+ info () {
34
+ log " $GREEN INFO$RESET $1 "
35
+ }
36
+ warn () {
37
+ log " $YELLOW WARN$RESET $1 "
38
+ }
39
+ error () {
40
+ log " $RED ERROR$RESET $1 "
41
+ }
34
42
35
- kubectl version
43
+ if [ ! -z $YUM_CMD ]; then
44
+ cat << EOF > /etc/yum.repos.d/kubernetes.repo
45
+ [kubernetes]
46
+ name=Kubernetes
47
+ baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
48
+ enabled=1
49
+ gpgcheck=1
50
+ repo_gpgcheck=1
51
+ gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
52
+ EOF
53
+ yum install -y kubectl
54
+
55
+ elif [ ! -z $APT_GET_CMD ]; then
56
+ $SUDO apt-get update && $SUDO apt-get install -y apt-transport-https gnupg2
57
+ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | $SUDO apt-key add -
58
+ echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | $SUDO tee -a /etc/apt/sources.list.d/kubernetes.list
59
+ $SUDO apt-get update
60
+ $SUDO apt-get install kubectl
61
+
62
+ else
63
+ echo "Couldn't install package"
64
+ exit 1;
65
+ fi
0 commit comments