• KubeKey是KubeSphere提供的安装工具,可一键安装K8S及Docker,省去了K8S安装的繁琐操作

参考链接

国内网络

如果不能正常访问Github等,可以在执行下面操作前设置网络区域

export KKZONE=cn

依赖安装

sudo apt install update
sudo apt install -y curl socat conntrack ebtables ipset
  • KubeKey会自动安装Docker,所以可以不事先安装Docker

安装KubeKey

KubeKey Release页面确定你要安装的版本,在下方命令中替换VERSION

curl -sfL https://get-kk.kubesphere.io | VERSION=v3.1.5 bash -

为 kk 添加可执行权限:

chmod +x kk

需要开启ssh服务

sudo apt install -y openssh-server

安装 K8S 和 KubeSphere

查看能使用 KubeKey 安装的所有受支持的 Kubernetes 版本

./kk version --show-supported-k8s

KubeSphere官方建议安装 v1.23.x 版本的 Kubernetes,所以安装上面命令中1.23版本最新的小版本

sudo ./kk create cluster --with-kubernetes v1.23.17 --with-kubesphere v3.4.1

KubeSphere更新到4.1.2版本了,但目前KubeKey不支持同时安装Kubernetes和KubeSphere,所以这里先安装K8S,再安装KubeSphere。

安装K8S

使用KubeKey安装K8S,KubeSphere默认支持Kubernetes v1.21~1.28,所以这里安装1.28.15。

sudo ./kk create cluster --with-kubernetes v1.28.15

如果需要使用本地储存PV,安装K8S的指令后面带上--with-local-storage即可。

安装KubeSphere

K8S安装完成后,就能安装KubeSphere 4.1.2

helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.2.tgz --debug --wait

验证安装结果

输入以下命令以检查安装结果。

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

输出信息会显示 Web 控制台的 IP 地址和端口号,默认的 NodePort 是 30880。现在,您可以使用默认的帐户和密码 (admin/P@88w0rd) 通过 :30880 访问控制台。

安装并使用扩展组件

KubeSphere的组件安装可自行在官方文档中安装需要的组件 安装并使用扩展组件

(已废弃,KubeKey自动安装)用包管理安装Kubectl

官方Kubectl安装
更新 apt 包索引,并安装使用 Kubernetes apt 仓库所需要的包:

sudo apt-get update
# apt-transport-https 可以是一个虚拟包;如果是这样,你可以跳过这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg

下载 Kubernetes 软件包仓库的公共签名密钥。 同一个签名密钥适用于所有仓库,因此你可以忽略 URL 中的版本信息:

sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # allow unprivileged APT programs to read this keyring   
  • 说明:
  • 在低于 Debian 12 和 Ubuntu 22.04 的发行版本中,/etc/apt/keyrings 默认不存在。 应在 curl 命令之前创建它。

添加合适的 Kubernetes apt 仓库。如果你想用 v1.31 之外的 Kubernetes 版本, 请将下面命令中的 v1.31 替换为所需的次要版本:

# 这会覆盖 /etc/apt/sources.list.d/kubernetes.list 中的所有现存配置
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list   
# 有助于让诸如 command-not-found 等工具正常工作
  • 说明:
  • 要将 kubectl 升级到别的次要版本,你需要先升级 /etc/apt/sources.list.d/kubernetes.list 中的版本, 再运行 apt-get update 和 apt-get upgrade 命令。 更详细的步骤可以在更改 Kubernetes 软件包存储库中找到。

更新 apt 包索引,然后安装 kubectl:

sudo apt-get update
sudo apt-get install -y kubectl