Skip to content

Commit af6c2aa

Browse files
committed
Adding Bills changes.
1 parent ced783d commit af6c2aa

1 file changed

Lines changed: 35 additions & 38 deletions

File tree

samples/features/azure-arc/deployment/kubeadm/ubuntu-single-node-vm/setup-controller.sh

Lines changed: 35 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
#!/bin/bash
22
set -Eeuo pipefail
33

4-
if [ "$EUID" -ne 0 ]
5-
then echo "Please run as root"
6-
exit
7-
fi
8-
94
# This is a script to create single-node Kubernetes cluster and deploy Azure Arc Data Controller on it.
105
#
116
export AZUREARCDATACONTROLLER_DIR=aadatacontroller
@@ -65,24 +60,24 @@ echo "Starting installing packages..."
6560

6661
# Install docker.
6762
#
68-
apt-get update -q
63+
sudo apt-get update -q
6964

70-
apt --yes install \
65+
sudo apt --yes install \
7166
software-properties-common \
7267
apt-transport-https \
7368
ca-certificates \
7469
curl
7570

7671
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
7772

78-
add-apt-repository \
73+
sudo add-apt-repository \
7974
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
8075

81-
apt update -q
82-
apt-get install -q --yes docker-ce=18.06.2~ce~3-0~ubuntu --allow-downgrades
83-
apt-mark hold docker-ce
76+
sudo apt update -q
77+
sudo apt-get install -q --yes docker-ce=18.06.2~ce~3-0~ubuntu --allow-downgrades
78+
sudo apt-mark hold docker-ce
8479

85-
usermod --append --groups docker $USER
80+
sudo usermod --append --groups docker $USER
8681

8782
# Prompt for private preview repository username and password provided by Microsoft
8883
#
@@ -97,6 +92,10 @@ rm -f -r setupscript
9792
mkdir -p setupscript
9893
cd setupscript/
9994

95+
# Download and install azdata prerequisites
96+
#
97+
sudo apt install -y libodbc1 odbcinst odbcinst1debian2 unixodbc
98+
10099
# Download and install azdata package
101100
#
102101
echo ""
@@ -108,6 +107,9 @@ cd -
108107
azdata --version
109108
echo "Azdata has been successfully installed."
110109

110+
# Install Azure CLI
111+
#
112+
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
111113

112114
# Load all pre-requisites for Kubernetes.
113115
#
@@ -116,32 +118,32 @@ echo "Starting to setup pre-requisites for kubernetes..."
116118

117119
# Setup the kubernetes preprequisites.
118120
#
119-
echo $(hostname -i) $(hostname) >> /etc/hosts
121+
echo $(hostname -i) $(hostname) >> sudo tee -a /etc/hosts
120122

121123
swapoff -a
122-
sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
124+
sudo sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
123125

124-
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
126+
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
125127

126-
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
128+
cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
127129
128130
deb http://apt.kubernetes.io/ kubernetes-xenial main
129131
130132
EOF
131133

132134
# Install docker and packages to allow apt to use a repository over HTTPS.
133135
#
134-
apt-get update -q
136+
sudo apt-get update -q
135137

136-
apt-get install -q -y ebtables ethtool
138+
sudo apt-get install -q -y ebtables ethtool
137139

138140
#apt-get install -y docker.ce
139141

140-
apt-get install -q -y apt-transport-https
142+
sudo apt-get install -q -y apt-transport-https
141143

142144
# Setup daemon.
143145
#
144-
cat > /etc/docker/daemon.json <<EOF
146+
sudo tee /etc/docker/daemon.json <<EOF
145147
{
146148
"exec-opts": ["native.cgroupdriver=systemd"],
147149
"log-driver": "json-file",
@@ -152,19 +154,19 @@ cat > /etc/docker/daemon.json <<EOF
152154
}
153155
EOF
154156

155-
mkdir -p /etc/systemd/system/docker.service.d
157+
sudo mkdir -p /etc/systemd/system/docker.service.d
156158

157159
# Restart docker.
158160
#
159-
systemctl daemon-reload
160-
systemctl restart docker
161+
sudo systemctl daemon-reload
162+
sudo systemctl restart docker
161163

162-
apt-get install -q -y kubelet=$KUBE_DPKG_VERSION kubeadm=$KUBE_DPKG_VERSION kubectl=$KUBE_DPKG_VERSION
164+
sudo apt-get install -q -y kubelet=$KUBE_DPKG_VERSION kubeadm=$KUBE_DPKG_VERSION kubectl=$KUBE_DPKG_VERSION
163165

164166
# Holding the version of kube packages.
165167
#
166-
apt-mark hold kubelet kubeadm kubectl
167-
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash
168+
sudo apt-mark hold kubelet kubeadm kubectl
169+
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | sudo bash
168170

169171
. /etc/os-release
170172
if [ "$UBUNTU_CODENAME" == "bionic" ]; then
@@ -177,22 +179,22 @@ sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
177179
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
178180
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
179181

180-
echo net.ipv6.conf.all.disable_ipv6=1 >> /etc/sysctl.conf
181-
echo net.ipv6.conf.default.disable_ipv6=1 >> /etc/sysctl.conf
182-
echo net.ipv6.conf.lo.disable_ipv6=1 >> /etc/sysctl.conf
182+
echo net.ipv6.conf.all.disable_ipv6=1 | sudo tee -a /etc/sysctl.conf
183+
echo net.ipv6.conf.default.disable_ipv6=1 | sudo tee -a /etc/sysctl.conf
184+
echo net.ipv6.conf.lo.disable_ipv6=1 | sudo tee -a /etc/sysctl.conf
183185

184186

185-
sysctl net.bridge.bridge-nf-call-iptables=1
187+
sudo sysctl net.bridge.bridge-nf-call-iptables=1
186188

187189
# Setting up the persistent volumes for the kubernetes.
188190
#
189191
for i in $(seq 1 $PV_COUNT); do
190192

191193
vol="vol$i"
192194

193-
mkdir -p /mnt/local-storage/$vol
195+
sudo mkdir -p /mnt/local-storage/$vol
194196

195-
mount --bind /mnt/local-storage/$vol /mnt/local-storage/$vol
197+
sudo mount --bind /mnt/local-storage/$vol /mnt/local-storage/$vol
196198

197199
done
198200
echo "Kubernetes pre-requisites have been completed."
@@ -208,10 +210,9 @@ echo "Starting to setup Kubernetes master..."
208210
sudo kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=$KUBE_VERSION
209211

210212
mkdir -p $HOME/.kube
211-
mkdir -p /home/$SUDO_USER/.kube
212213

213214
sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config
214-
sudo chown $(id -u $SUDO_USER):$(id -g $SUDO_USER) $HOME/.kube/config
215+
sudo chown $(id -u $USER):$(id -g $USER) $HOME/.kube/config
215216

216217
# To enable a single node cluster remove the taint that limits the first node to master only service.
217218
#
@@ -280,9 +281,5 @@ kubectl config set-context --current --namespace $CLUSTER_NAME
280281
#
281282
azdata login -n $CLUSTER_NAME
282283

283-
if [ -d "$HOME/.azdata/" ]; then
284-
sudo chown -R $(id -u $SUDO_USER):$(id -g $SUDO_USER) $HOME/.azdata/
285-
fi
286-
287284
echo "Cluster successfully setup. Run 'azdata --help' to see all available options."
288285
}| tee $LOG_FILE

0 commit comments

Comments
 (0)