mirror of
https://github.com/kelseyhightower/kubernetes-the-hard-way.git
synced 2025-12-15 17:28:58 +03:00
VTWO-14496 : continue configuring machine
This commit is contained in:
17
scripts/copy_file_to_nodes
Executable file
17
scripts/copy_file_to_nodes
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
SCRIPTS_DIR=$(dirname $0)
|
||||
FILE_TO_COPY=$(realpath "$1")
|
||||
NODE_NAMES="$($SCRIPTS_DIR/node_names $2)"
|
||||
|
||||
echo "will copy $FILE_TO_COPY to nodes $(echo $NODE_NAMES | xargs)"
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
read -n 1 -s -r -p "Press any key to continue..."
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
parallel vagrant scp $FILE_TO_COPY {}:~/ ::: $NODE_NAMES
|
||||
18
scripts/download_etcd_binaries
Executable file
18
scripts/download_etcd_binaries
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
ETCD3_RELEASE_VERSION=$1
|
||||
OUTPUT_DIR=$(realpath "$2")
|
||||
|
||||
tmp_dir=$(mktemp -d)
|
||||
|
||||
pushd "$tmp_dir" &> /dev/null
|
||||
|
||||
curl -sL "https://github.com/etcd-io/etcd/releases/download/$ETCD3_RELEASE_VERSION/etcd-$ETCD3_RELEASE_VERSION-linux-arm64.tar.gz" | tar -zxf -
|
||||
|
||||
mkdir -p $OUTPUT_DIR
|
||||
mv etcd-$ETCD3_RELEASE_VERSION-linux-arm64/etcd $OUTPUT_DIR/
|
||||
mv etcd-$ETCD3_RELEASE_VERSION-linux-arm64/etcdctl $OUTPUT_DIR/
|
||||
|
||||
popd &> /dev/null
|
||||
|
||||
rm -rf $tmp_dir
|
||||
30
scripts/download_kubernetes_binaries
Executable file
30
scripts/download_kubernetes_binaries
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# v1.15.0
|
||||
K8S_RELEASE_VERSION=$1
|
||||
OUTPUT_DIR=$(realpath "$2")
|
||||
|
||||
tmp_dir=$(mktemp -d)
|
||||
|
||||
pushd "$tmp_dir" &> /dev/null
|
||||
|
||||
container_id=$(docker create gcr.io/google-containers/hyperkube:$K8S_RELEASE_VERSION)
|
||||
docker cp $container_id:/hyperkube ./hyperkube
|
||||
docker rm -f $container_id &> /dev/null
|
||||
|
||||
mkdir -p $OUTPUT_DIR/workers
|
||||
cp hyperkube $OUTPUT_DIR/workers/kubelet
|
||||
cp hyperkube $OUTPUT_DIR/workers/proxy
|
||||
cp hyperkube $OUTPUT_DIR/workers/kubectl
|
||||
|
||||
mkdir -p $OUTPUT_DIR/masters
|
||||
cp hyperkube $OUTPUT_DIR/masters/kubelet
|
||||
cp hyperkube $OUTPUT_DIR/masters/proxy
|
||||
cp hyperkube $OUTPUT_DIR/masters/kubectl
|
||||
cp hyperkube $OUTPUT_DIR/masters/scheduler
|
||||
cp hyperkube $OUTPUT_DIR/masters/controller-manager
|
||||
cp hyperkube $OUTPUT_DIR/masters/cloud-controller-manager
|
||||
cp hyperkube $OUTPUT_DIR/masters/apiserver
|
||||
popd &> /dev/null
|
||||
|
||||
rm -rf $tmp_dir
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
curl -sL https://github.com/kubernetes/kubernetes/releases/download/v1.15.0/kubernetes.tar.gz | tar zxvf -
|
||||
@@ -13,4 +13,12 @@ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||||
|
||||
sudo add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
|
||||
|
||||
sudo apt-get install -y --allow-unauthenticated docker-ce docker-ce-cli containerd.io
|
||||
sudo apt-get install -y --allow-unauthenticated docker-ce docker-ce-cli containerd.io
|
||||
|
||||
sudo systemctl enable docker
|
||||
|
||||
sleep 5
|
||||
|
||||
sudo systemctl start docker
|
||||
|
||||
sudo usermod -aG docker $USER
|
||||
5
scripts/install_jq_cli
Executable file
5
scripts/install_jq_cli
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
sudo apt-get update -y
|
||||
|
||||
sudo apt-get install -y jq
|
||||
9
scripts/node_ip_addresses
Executable file
9
scripts/node_ip_addresses
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
SCRIPTS_DIR=$(dirname $0)
|
||||
|
||||
for vagrant_box in $($SCRIPTS_DIR/node_names $1)
|
||||
do
|
||||
ip_address=$(vagrant ssh $vagrant_box -c "hostname -I | cut -d' ' -f2" 2>/dev/null)
|
||||
echo "$vagrant_box $ip_address"
|
||||
done
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
SCRIPTS_DIR=$(dirname $0)
|
||||
SCRIPT_NAME=$1
|
||||
NODE_NAMES="$($SCRIPTS_DIR/node_names $2)"
|
||||
NODE_NAMES_FILTER=$2
|
||||
NODE_NAMES="$($SCRIPTS_DIR/node_names $NODE_NAMES_FILTER)"
|
||||
|
||||
cat $SCRIPTS_DIR/$SCRIPT_NAME
|
||||
|
||||
@@ -15,8 +16,10 @@ echo ""
|
||||
echo ""
|
||||
|
||||
# copy script over
|
||||
chmod u+x "$SCRIPTS_DIR/$SCRIPT_NAME"
|
||||
parallel vagrant scp "$SCRIPTS_DIR/$SCRIPT_NAME" "{}:~/" ::: $NODE_NAMES
|
||||
pushd $SCRIPTS_DIR &> /dev/null
|
||||
chmod u+x "$SCRIPT_NAME"
|
||||
yes | ./copy_file_to_nodes "$SCRIPT_NAME" "$NODE_NAMES_FILTER" &> /dev/null
|
||||
popd &> /dev/null
|
||||
|
||||
# remotely run the script
|
||||
parallel vagrant ssh {} -c "\~/$SCRIPT_NAME" ::: $NODE_NAMES
|
||||
17
scripts/show_cluster_config
Executable file
17
scripts/show_cluster_config
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
KTHW_KUBERNETES_VERSION=v1.15.0
|
||||
KTHW_ETCD3_VERSION=v3.3.13
|
||||
|
||||
cat <<EOF
|
||||
{
|
||||
"kubernetes_version": "$KTHW_KUBERNETES_VERSION",
|
||||
|
||||
"etcd3_version": "$KTHW_ETCD3_VERSION",
|
||||
|
||||
"master": null,
|
||||
|
||||
"workers": [
|
||||
]
|
||||
}
|
||||
EOF
|
||||
Reference in New Issue
Block a user