借助MicroK8s分分钟部署单节点Kubernetes实例

借助MicroK8s分分钟部署单节点Kubernetes实例

译文
作者:布加迪编译 2019-09-02 09:46:11

云计算 icrok8s由Canonical管理,是一种非弹性的、基于rails的单节点Kubernetes工具,主要面向离线开发、原型设计和测试。

【51CTO.com快译】有时你可能想要创建Kubernetes的单节点实例,比如说正在开发应用程序或服务,需要对其进行测试。发布到生产环境之前,何不将它部署到Kubernetes测试平台上呢?或许你在竭力改进Kubernetes开发技能。用于开发和测试的优秀实例之一是单节点,而不是完整的Kubernetes集群。

[[275523]]

但如何启动并运行这个单节点?有很多方法可以实现。可以走Minikube这条路,或者启动标准Kubernetes安装的完整单节点,也可以使用Microk8s(https://microk8s.io/)。

Microk8s由Canonical管理,是一种非弹性的、基于rails的单节点Kubernetes工具,主要面向离线开发、原型设计和测试。Microk8s包括以下功能:

  • Istio
  • GPGPU绑定
  • 每日构建
  • 本地存储
  • 本地注册中心
  • 更新
  • 仪表板
  • 度量指标
  • 升级
  • IngressDNS
  • Conformant

Microk8s已作为一个快照包而创建,因此为了安装和使用,你得拥有支持这种特定通用打包格式的Linux发行版。我会演示如何在Ubuntu Desktop 19.04发行版上启动和运行Microk8s。

安装

Microk8s的安装很简单。但在安装之前,确保你的发行版已更新。一旦完成该过程,打开终端窗口,执行命令(图A):

图A. 从命令行安装Microk8s

  1. sudo snap install microk8s --edge --classic 

命令完成后,你需要启动Microk8s。这通过以下命令来完成:

  1. sudo microk8s.start 

该命令应报告服务已启动,pod调度功能已被启用。

安装额外的服务

为了让Microk8大有用途,你需要安装几项额外的服务。不妨安装基本服务:kube-dns和Microk8s仪表板。仪表板是一个基于Web的仪表板,让你可以交互和管理Kubernetes。 Kube-dns在集群上调度DNS Pod和服务,并配置kubelete(每个节点上运行的主节点代理),以指示各个容器将DNS服务IP地址用作DNS解析器。

想安装这两项服务,回到终端窗口,执行命令:

  1. sudo microk8s.enable dns dashboard 

你还可以启用其他服务,比如:

  • storage—让你可以使用主机上的存储。
  • Ingress—创建Ingress控制器。
  • gpu—启用nvidia-docker运行时环境和nvidia-device-plugin-daemonset。
  • istio—启用核心的Istio服务。
  • registry—部署私有Docker注册中心。

如果你认定需要额外服务,在启动并运行Microk8后,你可以随时回过头去执行microk8s.enable命令(带有想要添加的服务)。

一旦安装了仪表板,你需要找到可以访问它的地址。为此,执行命令:

  1. sudo microk8s.kubectl get all --all-namespaces 

上述命令将输出许多命名空间及相关地址。

B. 找到Microk8s仪表板的地址

寻找与service/kubernetes-dashboard关联的IP地址。

访问仪表板

你现在可以打开Web浏览器(在运行Microk8s的同一台计算机上),将其指向https://IP_ADDRESS(IP_ADDRESS是kubernetes-dashboard IP地址)。

此时,你会看到仪表板需要令牌才能获得访问权限。怎么找到那个令牌?首先你要使用以下命令让Microk8s列出所有可用的机密(secret):

  1. sudo microk8s.kubectl -n kube-system get secret 

这将列出所有服务名称,并附有机密名称。如你所见(图C),Kubernetes仪表板包含在列表中。

C. 列出了含有机密的服务

想检索相应服务的秘密令牌,执行以下命令:

  1. sudo microk8s.kubectl -n kube-system describe secret kubernetes-dashboard-token-fv247 

确保修改fv247条目,以匹配与你安装的Kubernetes Dashboard实例关联的密钥。

上述命令将显示一长串字符。复制该字符串,然后回到Web浏览器。在仪表板令牌窗口(图D)中,选择令牌,然后将复制的令牌粘贴到Enter token文本字段。

图D. Kubernetes仪表板令牌输入窗口

点击“SIGN IN”,你会发现自己已在Kubernetes仪表板上(图E)。

E. 使用GIMP来创建

此时,你可以从基于Web的仪表板管理Kubernetes。创建作业、pod、副本和计划任务等。点击右上角的“创建”按钮,你可以直接写入或者粘贴YAML或JSON文件的内容。比如假设你想创建NGINX部署。将以下内容复制到编辑器中(图F),然后点击UPLOAD。

  1. apiVersion: v1 
  2. kind: ReplicationController 
  3. metadata: 
  4. name: nginx 
  5. spec: 
  6. replicas: 2 
  7. selector: 
  8. app: nginx 
  9. template: 
  10. metadata: 
  11. name: nginx 
  12. labels: 
  13. app: nginx 
  14. spec: 
  15. containers: 
  16. - name: nginx 
  17. image: nginx 
  18. ports: 
  19. - containerPort: 80 

图F. 上传用于NGINX部署的YAML文件

上传YAML文件后,点击Workloads> Pods,你会看到它已被列为正在运行中(图G)。

图G. NGINX部署已启动并运行中

这就是使用Microk8s启动并运行Kubernetes的单节点实例(以及部署简单的Pod)的全部内容。该工具应该有助于你立即开发自己的Kubernetes应用程序和服务。

原文标题:Deploy a Single Node Kubernetes Instance in Seconds with MicroK8s,作者:Jack Wallen

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/300207.html<

(0)
管理的头像管理
上一篇2025-05-23 18:31
下一篇 2025-05-23 18:33

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注