在 Linux 系统中安装并设置 kubectl

2023年 9月 16日 107.1k 0

准备开始

kubectl 版本和集群版本之间的差异必须在一个小版本号内。 例如:v1.28 版本的客户端能与 v1.27、 v1.28 和 v1.29 版本的控制面通信。 用最新兼容版的 kubectl 有助于避免不可预见的问题。

在 Linux 系统中安装 kubectl

在 Linux 系统中安装 kubectl 有如下几种方法:

  • 用 curl 在 Linux 系统中安装 kubectl
  • 用原生包管理工具安装
  • 用其他包管理工具安装

用 curl 在 Linux 系统中安装 kubectl

  • 用以下命令下载最新发行版:
  • x86-64

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    

    ARM64

    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl"
    
  • 验证该可执行文件(可选步骤)
  • 下载 kubectl 校验和文件:

    x86-64

    curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
    

    ARM64

    curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/arm64/kubectl.sha256"
    

    基于校验和文件,验证 kubectl 的可执行文件:

    echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check
    

    验证通过时,输出为:

    kubectl: OK
    

    验证失败时,sha256 将以非零值退出,并打印如下输出:

    kubectl: FAILED
    sha256sum: WARNING: 1 computed checksum did NOT match
    
  • 安装 kubectl
  • sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
    
  • 执行测试,以保障你安装的版本是最新的:
  • kubectl version --client
    

    用原生包管理工具安装

    基于Debian的发行版

  • 更新 apt 包索引,并安装使用 Kubernetes apt 仓库所需要的包:
  • sudo apt-get update
    # apt-transport-https 可以是一个虚拟包;如果是这样,你可以跳过这个包
    sudo apt-get install -y apt-transport-https ca-certificates curl
    
  • 下载 Kubernetes 软件包仓库的公共签名密钥。 同一个签名密钥适用于所有仓库,因此你可以忽略 URL 中的版本信息:
  • curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
    
  • 添加合适的 Kubernetes apt 仓库。如果你想用 v1.28 之外的 Kubernetes 版本, 请将下面命令中的 v1.28 替换为所需的次要版本:
  • # 这会覆盖 /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.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
    
  • 更新 apt 包索引,然后安装 kubectl:
  • sudo apt-get update
    sudo apt-get install -y kubectl
    

    验证 kubectl 配置

    为了让 kubectl 能发现并访问 Kubernetes 集群,你需要一个 kubeconfig 文件, 该文件在 kube-up.sh 创建集群时,或成功部署一个 Minikube 集群时,均会自动生成。 通常,kubectl 的配置信息存放于文件 ~/.kube/config 中。

    通过获取集群状态的方法,检查是否已恰当地配置了 kubectl:

    kubectl cluster-info
    

    如果返回一个 URL,则意味着 kubectl 成功地访问到了你的集群。

    如果你看到如下所示的消息,则代表 kubectl 配置出了问题,或无法连接到 Kubernetes 集群。

    The connection to the server  was refused - did you specify the right host or port?
    (访问  被拒绝 - 你指定的主机和端口是否有误?)
    

    例如,如果你想在自己的笔记本上(本地)运行 Kubernetes 集群,你需要先安装一个 Minikube 这样的工具,然后再重新运行上面的命令。

    如果命令 kubectl cluster-info 返回了 URL,但你还不能访问集群,那可以用以下命令来检查配置是否妥当:

    kubectl cluster-info dump
    

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论