Kubernetes 可能是正确启动和运行的真正挑战。当您真的希望快速完成时尤其如此,以便您可以创建测试或开发环境或只是熟悉它的工作原理。每次需要一个多节点集群时,您可能没有时间启动一个多节点集群。在这种情况下,您总是可以求助于KubeKey,这使得为开发/测试目的启动 Kubernetes 部署变得非常容易。

但是,不要认为以这种方式使用 KubeKey 是大规模部署应用程序和服务的一种方式。我将向您展示的主要是为了测试和开发目的,所以甚至不要将其视为生产就绪应用程序或服务的解决方案。

为了完成这项工作,您需要一个正在运行的 Ubuntu Server 20.04(或更高版本)实例和一个具有sudo特权的用户。您可能还希望您的 Ubuntu Server 实例具有完整的桌面环境(这样您就可以部署 Kubernetes 仪表板——我也会向您展示如何去做)。

话虽如此,让我们开始工作。

安装 Docker

我们需要做的第一件事是安装 Docker。我们不会安装标准存储库中的 Docker 版本,而是加倍努力并安装 Docker 的社区版。

首先,让我们安装必要的依赖项。登录到您的服务器并发出命令:

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y

接下来,添加官方 Docker GPG 密钥:

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

使用以下命令添加 Docker 存储库:

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

使用以下命令更新 apt 并安装 Docker:

sudo apt-get update

sudo apt-get install docker-ce -y

使用以下命令启动并启用 Docker 服务:

sudo systemctl enable --now docker

使用以下命令将您的用户添加到 docker 组:

sudo usermod -aG docker $USER

确保更改生效:

newgrp docker

安装 KubeKey

在我们下载 KubeKey 之前,还有一个依赖项需要处理,可以使用以下命令完成:

sudo apt-get install conntrack -y

下载 KubeKey 二进制文件:

curl -sfL https://get-kk.kubesphere.io | VERSION=v1.2.1 sh -

文件下载后,使用以下命令使其可执行:

chmod u+x kk

让我们通过将文件复制到/user/local/bin目录来使 kk 可执行,以便它可以从任何目录运行。这样做:

sudo cp kk /usr/local/bin

使用以下命令验证安装:

kk -h

如果您看到打印出的帮助信息,则 kk 可执行文件已准备就绪。

部署集群

我们现在可以使用以下命令部署集群:

sudo kk create cluster

不幸的是,您必须使用 sudo 权限才能运行它。这就是为什么我认为 KubeKey 的最佳用例仅用于开发/测试/教育目的的原因之一。

这个过程需要一些时间,因为它必须下载一些二进制文件和其他位才能使其工作。完成后,您将返回终端窗口并准备继续。

您现在应该能够使用以下命令验证 kubectl 是否已安装:

kubectl --help

这次您应该看到 kubectl 命令的帮助信息。

部署 Kubernetes 仪表板

让我们更进一步。这不是必需的,但它将有助于使事情变得更容易(要更详细地了解部署仪表板,请查看“为 K98s 开发部署 Microk8s 和 Kubernetes 仪表板”)。使用以下命令部署 Kubernetes 仪表板:

sudo kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml

部署仪表板后,您需要找到集群的 IP 地址,这可以使用以下命令完成:

sudo kubectl get svc -n kubernetes-dashboard

您应该会看到 kubernetes-dashboard 以及 CLUSTER-IP 地址和端口号,格式如下:

kubernetes-dashboard NodePort 10.233.33.37 <none> 443:31693/TCP 57m

您可能希望通过 NodePort 而不是 ClusterIP 公开仪表板。这样做,发出命令:

sudo kubectl edit svc kubernetes-dashboard -o yaml -n kubernetes-dashboard

这将在 vi 编辑器中打开配置文件。您必须先输入i才能进入交互模式。然后向下滚动直到看到:

type: ClusterIP

将其更改为:

type: NodePort

点击 escape 退出交互模式,然后输入*:wq*保存并关闭文件。接下来,您必须像这样运行 kubectl proxy 命令:

sudo kubectl proxy

在代理运行时,打开 Web 浏览器并将其指向sudo kubectl get svc -n kubernetes-dashboard命令的结果中列出的 IP 地址和端口号。您将看到登录屏幕,您需要访问令牌。要检索该令牌,请发出命令:

sudo kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

这应该打印出一长串随机字符。将该字符串复制并粘贴到令牌字段中,然后您将被允许访问 Kubernetes 仪表板。

这就是您可以快速启动 Kubernetes 开发环境的方式,而无需经历部署整个集群的所有麻烦。这不是生产就绪的,但它是加快 Kubernetes 速度甚至为平台开发的好方法。

翻译

Quickly Install a Kubernetes Cluster with KubeKey

关注

本文首发于微信公众号【进击云原生】,扫左侧码关注,了解更多咨询,更有免费资源供您学习

使用 KubeKey 快速安装 Kubernetes 集群相关推荐

  1. 【Kubernetes】在CentOS7上通过kubeadm工具快速安装Kubernetes集群(一)

    此文作为学习<Kubernetes权威指南>的相关笔记,可以参考,不适合直接使用 参考文章: https://www.jianshu.com/p/cd4d1fde08bc https:// ...

  2. CentOS 7.5 使用 yum 安装 Kubernetes 集群(二)

    一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能 ...

  3. ② kubeadm快速部署Kubernetes集群

    文章目录 1. 安装要求 2. 目标 3. 准备环境 4. 所有节点安装Docker/kubeadm/kubelet 4.1 安装Docker(以一台为例,其他相同) 4.2 添加kubernetes ...

  4. Kubernetes---通过Ansible自动化快速部署Kubernetes集群

    Kubernetes-通过Ansible自动化快速部署Kubernetes集群 目录 Kubernetes-通过Ansible自动化快速部署Kubernetes集群 一.安装ansible 二.环境准 ...

  5. 二进制包安装Kubernetes集群环境完整版

    Kubernetes 概述 1. Kubernetes是什么 Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S. K8S用于容器化应用程序的部署 ...

  6. 使用Rancher的RKE快速部署Kubernetes集群

    简要说明: 本文共涉及3台Ubuntu机器,1台RKE部署机器(192.168.3.161),2台Kubernetes集群机器(3.162和3.163). 先在Windows机器上,将rke_linu ...

  7. 实战4节点Centos7.3 安装Kubernetes集群

    Kubernetes集群安装部署 Kubernetes集群组件: -Master节点 - etcd 一个高可用的K/V键值对存储和服务发现系统 - kube-apiserver 提供kubernete ...

  8. Centos离线安装Kubernetes集群

    目录 kuberadmin离线安装K8s集群 环境准备 基础环境配置 安装docker 准备基础镜像以及安装包 镜像 集群初始化 设置.kube/config 安装网络组件 加入node节点 验证集群 ...

  9. 安装Kubernetes集群

    目录 1.K8s是什么 2.架构 1.工作方式 2.组件架构 1.控制平面组件(Control Plane Components) 2.Node 组件 3.形象化理解各组件的意义 3.kubeadm创 ...

最新文章

  1. MyBatis框架添加客户有哪些步骤
  2. 「硅仙人」吉姆 · 凯勒:我在特斯拉是最闲的员工,却要在英特尔管一万人
  3. Linux gsoap 访问Jira
  4. BZOJ-1027 [JSOI2007]合金
  5. 文巾解题 77. 组合
  6. 第三课 泛型+反射封装数据库访问层 2019-04-02
  7. 微型计算机中celeron,微型计算机中常提及的Pentium或Celeron是指其_______
  8. HashMap Hashtable区别
  9. matlab toolbox 向量,mosek optimization toolbox for matlab提供的函数简介
  10. 力扣-103. 二叉树的锯齿形层序遍历
  11. 什么叫主语、谓语、宾语、定语、状语、补语?
  12. 家用NAS有什么用?充分挖掘你的NAS功能
  13. linux的ffmpeg转换视频为mp4,使用开源软件FFmpeg将各种格式视频转换成MP4视频格式(最简单方法)...
  14. 爱荷华州立大学计算机科学,爱荷华州立大学计算机科学硕士排名第64(2020年TFE Times排名)...
  15. 最新时空观测结果证实爱因斯坦相对论合理性
  16. Mac 上安装mysql
  17. TWS蓝牙耳机哪款适合新手?双11五款高性价比低延迟蓝牙耳机推荐
  18. spark-测试模式-在windows中连接虚拟机中cdh集群的hdfs和hive和linux单机模式
  19. 840C - On the Bench (容斥 + DP)
  20. windos读写ext3工具_ext2fsd|Ext2Fsd(读取ext2/ext3/ex4工具)下载 v0.53 支持win7/win8 - 121下载站...

热门文章

  1. 单精度与双精度是什么意思,有什么区别?
  2. 【opencv】在图片上画角并且进行角度检测
  3. 创建一个简单的workflow工作流(WF4)
  4. 海康相机html网页源码,海康摄像头 Web3.2_控件
  5. python提示IndentationError: unexpected indent错误
  6. fuelux tree简单配置使用(动态数据+字体图标)
  7. vue vue-seamless-scroll 无缝滚动依赖
  8. program received signal sigsegv,Segmentation fault的解释(可能并不全面)
  9. air macbook 风扇响_MacBook装Windows 7后温度过高/风扇过响的解决办法
  10. 孤立森林(隔离树)译文