最近在学习k8s,也就是Kubernetes的使用。

在登录ubuntu的终端时出现了Microk8s的广告:

 * Overheard at KubeCon: "microk8s.status just blew my mind".https://microk8s.io/docs/commands#microk8s.status

于是我就想试试Microk8s

GitHub项目:ubuntu/microk8s: MicroK8s is a small, fast, single-package Kubernetes for developers, IoT and edge.

官网:MicroK8s - Fast, Light, Upstream Developer Kubernetes

下载与安装,配置PATH

安装过程参考的官方文档:Quick start | MicroK8s

截止2020-1-26MicroK8s最新的版本是1.17,需要使用snap进行安装,snap是原生安装在ubuntu上的,直接运行:

-> % sudo snap install microk8s --classic
Download snap "microk8s" (1107) from channel "stable"                                                                    0%     1B/s ages!

可以看到下载进度很慢,需要一个世纪,但snap没有国内的镜像,谷歌搜索snap ubuntu mirror china发现并没有镜像。

之前我写过一篇文章:新一代包管理器:snap介绍和使用:安装,代理,禁用

解决方法有2个:

1.使用代理进行下载
2.使用snap download下载安装包,然后传递文件到需要的机器。

我采用的是下载下来进行安装:

-> % sudo snap download microk8s
Fetching snap "microk8s"
Fetching assertions for "microk8s"
Install the snap with:snap ack microk8s_1107.assertsnap install microk8s_1107.snap
-> % sudo snap ack microk8s_1107.assert
-> % sudo snap install microk8s_1107.snap --classicWarning: /snap/bin was not found in your $PATH. If you've not restarted your session since youinstalled snapd, try doing that. Please see https://forum.snapcraft.io/t/9469 for moredetails.microk8s v1.17.0 from Canonical✓ installed

安装完成,还需要添加路径,不然会报错:

root@ubuntu:/home/ubuntu# microk8s.status --wait-ready
Command 'microk8s.status' is available in '/snap/bin/microk8s.status'
The command could not be located because '/snap/bin' is not included in the PATH environment variable.
echo "export PATH=$PATH:/snap/bin" >> ~/.bashrc #bash
source ~/.bashrc
echo "export PATH=$PATH:/snap/bin" >> ~/.zshrc #zsh
source ~/.zshrc

添加用户组

为了不在使用时需要root用户,建议添加用户组:

-> % sudo usermod -a -G microk8s $USER
-> % su - $USER

检查状态并使用kubectl

检查服务状态:

-> # microk8s.status --wait-ready
microk8s is running
addons:
cilium: disabled
dashboard: disabled
dns: disabled
fluentd: disabled
gpu: disabled
helm: disabled
ingress: disabled
istio: disabled
jaeger: disabled
juju: disabled
knative: disabled
kubeflow: disabled
linkerd: disabled
metallb: disabled
metrics-server: disabled
prometheus: disabled
rbac: disabled
registry: disabled
storage: disabled

检查kubectl状态:

-> # microk8s.kubectl get nodes
NAME     STATUS   ROLES    AGE    VERSION
ubuntu   Ready    <none>   114m   v1.17.0
-> # microk8s.kubectl get services
NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.152.183.1   <none>        443/TCP   114m

部署应用

-> # microk8s.kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
deployment.apps/kubernetes-bootcamp created
-> # microk8s.kubectl get pods
NAME                                   READY   STATUS              RESTARTS   AGE
kubernetes-bootcamp-69fbc6f4cf-ktpcm   0/1     ContainerCreating   0          38s
-> # microk8s.kubectl get pods
NAME                                   READY   STATUS    RESTARTS   AGE
kubernetes-bootcamp-69fbc6f4cf-ktpcm   1/1     Running   0          3m10s

部署过程大约需要几分钟,需要注意的是下载需要网络。

停止和启动服务:

-> # microk8s.stop
Stopped.
-> # microk8s.start
Started.
Enabling pod scheduling
node/ubuntu already uncordoned

更多内容,未完待续。

用snap在ubuntu上构建 Microk8s,使用kubectl,部署应用相关推荐

  1. 手机刷linux影音,在优麒麟/Ubuntu上构建麒麟影音snap包

    Snaps是易于创建和安装的容器化软件包,它们可以自动更新并且安全运行.同时由于它们捆绑了本身所需的依赖,snaps 应用可以不加修改的运行在大部分Linux系统上. 麒麟影音是优麒麟默认的视频播放器 ...

  2. 基于Qemu在ubuntu上构建linux学习环境

    本文的主要内容: Qemu及相关背景简单介绍 如何安装Qemu 如何获取体系结构相关的datasheet 如何使用Qemu启动kernel Qemu及相关背景简单介绍 Qemu是ubuntu下的虚拟机 ...

  3. 在Ubuntu下构建Bullet以及执行Bullet的样例程序

    在Ubuntu下构建Bullet以及执行Bullet的样例程序 1.找到Bullet的下载页,地址是:https://code.google.com/p/bullet/downloads/list 2 ...

  4. 在 Ubuntu 上安装最新版本的 Erlang方法介绍

    Erlang 是一种用于构建大规模可扩展实时系统的函数式编程语言.Erlang 最初是由 爱立信 创建的专有软件,后来被开源. Erlang 在 Ubuntu 的 Universe 仓库 中可用.启用 ...

  5. nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置

    nginx+PHP+PHP-FPM(FastCGI)在Ubuntu上的安装和配置 0 之前知识回顾:  1) 目前各种服务器HTTP Server对PHP的支持一共有三种: a.通过HTTPServe ...

  6. 在 Ubuntu 上安装 .NET SDK 或 .NET 运行时

    在wsl Ubuntu 20.04上面安装dotnet链接 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu Ubun ...

  7. 在 WSL Ubuntu 上使用 .NET 进行跨平台开发新手入门

    翻译自 haydenb 2020年6月3日的文章<Getting started with cross-platform development using .NET on Ubuntu on ...

  8. 如何在Ubuntu上轻松安装Oracle Java

    Ubuntu上的开发人员习惯于至少看到两种Java风格. OpenJDK是Java运行时和编译器的开源构建. Oracle JDK以此为基础,但是增加了一些封闭源组件. 从理论上讲,OpenJDK是J ...

  9. pip安装deb_技术|如何在 Ubuntu 上安装 pip

    pip 是一个命令行工具,允许你安装 Python 编写的软件包. 学习如何在 Ubuntu 上安装 pip 以及如何使用它来安装 Python 应用程序. 有许多方法可以在 Ubuntu 上安装软件 ...

最新文章

  1. 深度学习进阶:多分类与TensorFlow
  2. as3 中get和set的用法
  3. mysql 源头锁,mysql 使用手册 - 追梦,一个伟大程序员的源头。 - OSCHINA - 中文开源技术交流社区...
  4. 修复电脑右键没有新建记事本
  5. php单引号双引号的区别
  6. JS去除字符串左右两端的空格
  7. 关于Unity中的刚体和碰撞器的相关用法(一)
  8. [渝粤教育] 西南科技大学 经济数学1 在线考试复习资料
  9. 二叉树(多路平衡搜索树)-(代码、分析、汇编)
  10. 守护进程实现时间服务器
  11. 51Nod-1049 最大子段和【DP】
  12. Python之Eclipse环境下安装与配置
  13. 十大机器学习算法(一)
  14. 【渝粤题库】陕西师范大学800010 经济地理学
  15. Profile Lookup任务详解
  16. 效率直接起飞的PPT技巧,你知道吗
  17. 浅析泛在电力物联网及国网公司“三型两网”战略
  18. 如何使用分析模型 — 2. 鱼骨图,清晰表达因果关系
  19. std::numeric_limits的使用
  20. gitlab代码查看行数

热门文章

  1. 第十六课.Pytorch-geometric入门(一)
  2. 决策树算法(五)——处理一些特殊的分类
  3. 高性能Linux服务器运维实战,《高性能Linux服务器构建实战》笔记
  4. R EnhancedVolcano 绘制火山图
  5. 招募100名科研人,念出书中内容即可,300元/小时,无经验要求!
  6. SCLS:巴斯德所崔杰组揭示海洋无脊椎动物RNA病毒的遗传多样
  7. 差异分析完整解决方案
  8. Science:中英合作揭示拟南芥三萜化合物特异调控根系微生物组
  9. 差点被人类消灭的疾病,科学家说是苏联让它重新肆虐全球?
  10. 人体肠道细菌与自身细胞的比例究竟是多少?