REAMDE + Makefile
This commit is contained in:
@ -40,6 +40,7 @@ cat >/etc/motd <<'EOF'
|
||||
|
||||
EOF
|
||||
|
||||
h1 "Configure rke2 server"
|
||||
# configure the rke2 server.
|
||||
# see https://docs.rke2.io/install/install_options/install_options/
|
||||
# see https://docs.rke2.io/install/install_options/server_config/
|
||||
@ -64,6 +65,8 @@ cluster-dns: 10.13.0.10
|
||||
cluster-domain: cluster.local
|
||||
EOF
|
||||
|
||||
h1 "Install rke2 server"
|
||||
h2 "Version: ${rke2_version}"
|
||||
# install rke2 server.
|
||||
# see https://docs.rke2.io/install/install_options/install_options/
|
||||
# see https://docs.rke2.io/install/install_options/server_config/
|
||||
@ -74,11 +77,13 @@ curl -sfL https://raw.githubusercontent.com/rancher/rke2/$rke2_version/install.s
|
||||
INSTALL_RKE2_TYPE="server" \
|
||||
sh -
|
||||
|
||||
h2 "Start rke2 server"
|
||||
# start the rke2-server service.
|
||||
systemctl cat rke2-server
|
||||
systemctl enable rke2-server.service
|
||||
systemctl start rke2-server.service
|
||||
|
||||
h2 "Configure system path for rke2"
|
||||
# symlink the utilities and setup the environment variables to use them.
|
||||
ln -fs /var/lib/rancher/rke2/bin/{kubectl,crictl,ctr} /usr/local/bin/
|
||||
cat >/etc/profile.d/01-rke2.sh <<'EOF'
|
||||
@ -89,28 +94,23 @@ export KUBECONFIG=/etc/rancher/rke2/rke2.yaml
|
||||
EOF
|
||||
source /etc/profile.d/01-rke2.sh
|
||||
|
||||
# wait for this node to be Ready.
|
||||
|
||||
h1 "wait for this node to be Ready."
|
||||
# e.g. server Ready control-plane,etcd,master 3m v1.21.5+rke2r1
|
||||
$SHELL -c 'node_name=$(hostname); echo "waiting for node $node_name to be ready..."; while [ -z "$(kubectl get nodes $node_name | grep -E "$node_name\s+Ready\s+")" ]; do sleep 3; done; echo "node ready!"'
|
||||
|
||||
# wait for the kube-dns pod to be Running.
|
||||
h1 "wait for the kube-dns pod to be Running."
|
||||
# e.g. rke2-coredns-rke2-coredns-7bb4f446c-jksvq 1/1 Running 0 33m
|
||||
$SHELL -c 'while [ -z "$(kubectl get pods --selector k8s-app=kube-dns --namespace kube-system | grep -E "\s+Running\s+")" ]; do sleep 3; done'
|
||||
|
||||
# save the node-token in the host.
|
||||
# NB do not create a token yourself as a simple hex random string, as that will
|
||||
# not include the Cluster CA which means the joining nodes will not
|
||||
# verify the server certificate. rke2 warns about this as:
|
||||
# Cluster CA certificate is not trusted by the host CA bundle, but the
|
||||
# token does not include a CA hash. Use the full token from the server's
|
||||
# node-token file to enable Cluster CA validation
|
||||
if [ "$rke2_command" == 'cluster-init' ]; then
|
||||
h2 "Copy server token to shared directory"
|
||||
install -d /vagrant/tmp
|
||||
cp /var/lib/rancher/rke2/server/node-token /vagrant/tmp/node-token
|
||||
fi
|
||||
|
||||
# install the krew kubectl package manager.
|
||||
echo "installing the krew $krew_version kubectl package manager..."
|
||||
h1 "Install krew package manager"
|
||||
h2 "Version: ${krew_version}"
|
||||
apt-get install -y --no-install-recommends git
|
||||
wget -qO- "https://github.com/kubernetes-sigs/krew/releases/download/$krew_version/krew.tar.gz" | tar xzf - ./krew-linux_amd64
|
||||
wget -q "https://github.com/kubernetes-sigs/krew/releases/download/$krew_version/krew.yaml"
|
||||
|
Reference in New Issue
Block a user