45 lines
1.6 KiB
Bash
45 lines
1.6 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Copyright 2016 The Kubernetes Authors All rights reserved.
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
set -eux -o pipefail
|
||
|
|
||
|
function install_docker() {
|
||
|
sudo apt-get -y update
|
||
|
sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||
|
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian `lsb_release -cs` stable"
|
||
|
sudo apt-get -y update
|
||
|
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
|
||
|
sudo usermod -aG docker jenkins
|
||
|
}
|
||
|
|
||
|
function install_kubectl() {
|
||
|
curl -LO "https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl"
|
||
|
chmod +x ./kubectl
|
||
|
sudo mv ./kubectl /usr/local/bin/kubectl
|
||
|
}
|
||
|
|
||
|
echo "Checking docker"
|
||
|
if ! docker version &>/dev/null; then
|
||
|
echo "No docker installation found, installing docker."
|
||
|
install_docker
|
||
|
fi
|
||
|
|
||
|
echo "Checking kubectl"
|
||
|
if ! kubectl version &>/dev/null; then
|
||
|
echo "No kubectl installation found, installing kubectl"
|
||
|
install_kubectl
|
||
|
fi
|