ubuntu 安装 microk8s

准备工作

准备一台ubuntu的机器,配置如下:

  • OS: ubuntu 18.04
  • docker: 18.06.1
  • cpu、内存:4core 4G
  • 硬盘: 100G
  • 能连通docker hub(不必翻墙)

CPU 内存过低可能带不动。4核4G感觉有点卡。硬盘低了可能会导致docker image持续GC,造成不必要的性能浪费。

安装

snap install microk8s --classic

这样就安装完了。。。下面对这个集群做一下改动,方便使用。
使用/snap/bin/microk8s.status查看集群状态。

配置

配置 microk8s命令

  1. /snap/bin加入 PATH
export PATH=$PATH:/snap/bin #临时写入
echo "export PATH=$PATH:/snap/bin" >> ~/.bashrc #永久写入
  1. 设置kubectl别名:
snap alias microk8s.kubectl kubectl
  1. 修改pod的sandbox

pod的sandbox 默认是 k8s.gcr.io/pause:3.1,这个镜像是无法获取的。需要将sandbox修改为国内可以获取的镜像。

  • 修改/var/snap/microk8s/current/args/kubelet。 添加--pod-infra-container-image=s7799653/pause:3.1
  • 修改/var/snap/microk8s/current/args/containerd-template.tomlplugins -> plugins.cri -> sandbox_images7799653/pause:3.1
  • 重启服务 microk8s.stop,microk8s.start
  1. 启用 dns和 dashboard
microk8s.enable dns dashboard

由于这些组件用到的镜像是墙外的。需要修改一下镜像,使用墙内的。
这里提供部分镜像。

墙内 墙外
s7799653/heapster-amd64:v1.5.2 k8s.gcr.io/heapster-amd64:v1.5.2
s7799653/heapster-influxdb-amd64:v1.3.3 k8s.gcr.io/heapster-influxdb-amd64:v1.3.3
s7799653/k8s-dns-sidecar-amd64:1.14.7 gcr.io/google_containers/k8s-dns-sidecar-amd64:1.14.7
s7799653/heapster-grafana-amd64:v4.4.3 k8s.gcr.io/heapster-grafana-amd64:v4.4.3
s7799653/kubernetes-dashboard-amd64:v1.8.3 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
s7799653/k8s-dns-kube-dns-amd64:1.14.7 gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.14.7
s7799653/fluentd-elasticsearch:v2.2.0 k8s.gcr.io/fluentd-elasticsearch:v2.2.0
s7799653/k8s-dns-dnsmasq-nanny-amd64:1.14.7 gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.7

分享一个无需翻墙即可获取墙外镜像的小技巧。
利用docker hub的自动构建。从github获取dockerfile来构建镜像。

使用

kubectl get po -n kube-system

如果所有pod都是Running状态,就证明这个集群可以使用了。

kubectl edit svc -n kube-system  kubernetes-dashboard

spec.type修改为NodePort,在spec.ports中添加nodePort: 30000,保存之后就可以通过https://ip:30000访问界面了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.Pod Pod是k8s的最基本的操作单元,包含一个或多个紧密相关的容器,类似于豌豆荚的概念。一个Pod可以被一...
    jony456123阅读 7,473评论 0 5
  • 1、基础架构 1.1 Master Master节点上面主要由四个模块组成:APIServer、scheduler...
    阿斯蒂芬2阅读 10,940评论 0 44
  • 排错指南 - Pod 本文档介绍 Pod 的异常状态,可能原因和解决办法。 排查 Pod 异常的常用命令如下: 查...
    小孩子的童话2014阅读 7,035评论 0 2
  • 写这篇文章主要是为了今后毕业论文素材上的整理,同时对docker进行巩固温习。大纲: docker简介docker...
    胡图仙人阅读 7,521评论 2 96
  • 很长一段时间,在兼职的地方感觉把自己培养成了一个脾气很大,很受不了比自己弱的人,于是眉头紧皱到了自己都能感受得到,...
    十亩鱼干阅读 328评论 0 0