【kubernetes-the-hard-way】02-jumpbox 设置 Jumpbox
设置 Jumpbox
在本实验中,您将把四台机器中的一台设置为jumpbox
。 该机器将用于运行本教程中的命令。 虽然使用专用计算机来确保一致性,但这些命令也可以在几乎任何计算机上运行,包括运行 macOS 或 Linux 的个人工作站。
将jumpbox
视为管理计算机,在从头开始设置 Kubernetes 集群时将其用作大本营。 在开始之前我们需要做的一件事是安装一些命令行实用程序并克隆 Kubernetes The Hard Way git 存储库,其中包含一些额外的配置文件,这些文件将用于在本教程中配置各种 Kubernetes 组件。
登录jumpbox
:
ssh root@jumpbox
所有命令都将以root
用户身份运行。 这样做是为了方便起见,并将有助于减少设置所有内容所需的命令数量。
安装命令行实用程序
现在您已以root
用户身份登录到 jumpbox
计算机,您将安装命令行实用程序,这些实用程序将用于在整个教程中执行各种任务。
yum -y install wget curl vim git
openssl 3.0安装
# openssl 3.0安装
# CentOS 8 默认使用的是 OpenSSL 1.1.1 版本,但如果你需要安装 OpenSSL 3.0,你需要从源代码编译安装。请按照以下步骤操作:
# 安装依赖:
yum -y install zlib* pam* gcc* perl perl-IPC-Cmd
# 下载 OpenSSL 源代码:
wget https://github.com/openssl/openssl/releases/download/openssl-3.3.0/openssl-3.3.0.tar.gz
# 或下载 OpenSSL 源代码:
wget https://www.openssl.org/source/openssl-3.3.0.tar.gz
# 解压源代码并进入目录:
tar -zxvf openssl-3.3.0.tar.gz && cd openssl-3.3.0
# 配置安装选项(可以根据需要添加额外的配置选项):
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
# 编译安装:
make
# 安装:
sudo make install
# 创建新的符号链接:
sudo ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
sudo ln -sf /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3
sudo ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3
# 更新系统库链接:
echo "/usr/local/openssl/lib" | sudo tee -a /etc/ld.so.conf.d/openssl-3.3.0.conf
sudo ldconfig
# 更新系统的 openssl 命令指向
sudo bash -c "echo 'export PATH=/usr/local/openssl/bin:$PATH' >> /etc/profile"
source /etc/profile
# 验证安装:
openssl version -a
同步 GitLab 存储库
现在是时候下载本教程的副本了,其中包含将用于从头开始构建 Kubernetes 集群的配置文件和模板。 使用git
命令克隆 kubernetes-the-hard-way-centos-project.git 存储库:
git clone --depth 1 \
http://gitlab.china-software.net/cloud-group/kubernetes-the-hard-way-centos-project.git
切换到 kubernetes-the-hard-way
目录:
cd kubernetes-the-hard-way-centos-project
这将是本教程其余部分的工作目录。 如果您迷路了,请在jumpbox
上运行命令时运行pwd
命令来验证您是否位于正确的目录中:
pwd
/root/kubernetes-the-hard-way-centos-project
下载二进制文件
在本部分中,您将下载各种 Kubernetes 组件的二进制文件。 二进制文件将存储在jumpbox
上的downloads
目录中,这将减少完成本教程所需的互联网带宽量,因为我们避免为 Kubernetes 集群中的每台计算机多次下载二进制文件。
使用mkdir
命令从kubernetes-the-hard-way
目录创建一个downloads
目录:
mkdir downloads
将下载的二进制文件列在downloads.txt
文件中,您可以使用cat
命令查看该文件:
cat downloads.txt
使用wget
命令下载downloads.txt
文件中列出的二进制文件:
wget -q --show-progress \
--https-only \
--timestamping \
-P downloads \
-i downloads.txt
若无法下载downloads.txt
文件中的二进制文件,可尝试下方文件:
wget -q --show-progress \
--https-only \
--timestamping \
-P downloads \
-i downloads-cdn.txt
根据您的互联网连接速度,下载584
兆字节的二进制文件可能需要一段时间,下载完成后,您可以使用ls
命令列出它们:
ls -loh downloads
total 625M
-rw-r--r-- 1 root 44M May 10 2023 cni-plugins-linux-amd64-v1.3.0.tgz
-rw-r--r-- 1 root 46M Oct 27 06:21 containerd-1.7.8-linux-amd64.tar.gz
-rw-r--r-- 1 root 23M Aug 14 2023 crictl-v1.28.0-linux-amd64.tar.gz
-rw-r--r-- 1 root 16M Jul 11 2023 etcd-v3.4.27-linux-amd64.tar.gz
-rw-r--r-- 1 root 117M Oct 18 2023 kube-apiserver
-rw-r--r-- 1 root 113M Oct 18 2023 kube-controller-manager
-rw-r--r-- 1 root 48M Oct 18 2023 kubectl
-rw-r--r-- 1 root 106M Oct 18 2023 kubelet
-rw-r--r-- 1 root 53M Oct 18 2023 kube-proxy
-rw-r--r-- 1 root 54M Oct 18 2023 kube-scheduler
-rw-r--r-- 1 root 11M Aug 11 2023 runc.amd64
安装 kubectl
在本节中,您将在jumpbox
机器上安装官方 Kubernetes 客户端命令行工具kubectl
。 在本教程后面配置集群后,kubectl 将用于与 Kubernetes 控件进行交互。
使用chmod
命令使kubectl
二进制可执行文件并将其移动到/usr/local/bin/
目录:
{
chmod +x downloads/kubectl
cp downloads/kubectl /usr/local/bin/
}
至此kubectl
已安装,可以通过运行kubectl
命令进行验证:
kubectl version --client
Client Version: v1.28.3
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
此时,jumpbox
已设置完成本教程中的实验所需的所有命令行工具和实用程序。
下一步: 配置计算资源