Docker 与 K8S学习笔记(十四)—— Minikube的安装

简介: 上一篇我们简单介绍了Kubernetes基本概念,在正式进入学习之前呢我们当务之急是需要搭一套Kubernetes环境,考虑到我们仅仅是学习用所以直接使用MiniKube搭建环境。 PS:Minikube 是一个构建单节点集群的工具,是运行 Kubemetes 集群最简单、最快捷的途径 一、Kube

Docker 与 K8S学习笔记(十四)—— Minikube的安装


上一篇我们简单介绍了Kubernetes基本概念,在正式进入学习之前呢我们当务之急是需要搭一套Kubernetes环境,考虑到我们仅仅是学习用所以直接使用MiniKube搭建环境。

PS:Minikube 是一个构建单节点集群的工具,是运行 Kubemetes 集群最简单、最快捷的途径

 

一、Kubectl安装


为了避免网络问题,我们直接使用阿里云的下载地址:


$ curl -Lo kubectl http://kubernetes.oss-cn-hangzhou.aliyuncs.com/kubernetes-release/release/v1.20.0/bin/linux/amd64/kubectl && chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl


验证是否安装成功:


$ kubectl version --client
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.0", GitCommit:"af46c47ce925f4c4ad5cc8d1fca46c7b77d13b38", GitTreeState:"clean", BuildDate:"2020-12-08T17:59:43Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}


二、MiniKube安装


同样我们还是用阿里云的下载地址:


$ curl -Lo minikube http://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.16.0/minikube-linux-amd64 && chmod +x ./minikube && sudo mv ./minikube /usr/local/bin/minikube
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 53.7M  100 53.7M    0     0  6417k      0  0:00:08  0:00:08 --:--:-- 5776k

安装完毕后我们启动集群:


$ sudo minikube start --driver=none
😄  minikube v1.16.0 on Ubuntu 18.04
✨  Using the none driver based on user configuration
❌  Exiting due to GUEST_MISSING_CONNTRACK: Sorry, Kubernetes 1.20.0 requires conntrack to be installed in root's path

这里有报错,根据提示信息我们需要安装conntrack:


$ sudo apt-get install conntrack


再次启动,由于第一次启动,minikube会下载很多镜像,所以比较慢。启动成功后的输出如下:


$ sudo minikube start --driver=none
😄  minikube v1.16.0 on Ubuntu 18.04
✨  Using the none driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🔄  Restarting existing none bare metal machine for "minikube" ...
ℹ️  OS release is Ubuntu 18.04 LTS
🐳  Preparing Kubernetes v1.20.0 on Docker 20.10.8 ...
    ▪ kubelet.resolv-conf=/run/systemd/resolve/resolv.conf
    > kubelet.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
    > kubeadm.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
    > kubectl.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
    > kubectl: 38.37 MiB / 38.37 MiB [---------------] 100.00% 2.68 MiB p/s 14s
    > kubeadm: 37.40 MiB / 37.40 MiB [---------------] 100.00% 2.20 MiB p/s 17s
    > kubelet: 108.69 MiB / 108.69 MiB [-------------] 100.00% 4.57 MiB p/s 24s
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🤹  Configuring local host environment ...
❗  The 'none' driver is designed for experts who need to integrate with an existing VM
💡  Most users should use the newer 'docker' driver instead, which does not require root!
📘  For more information, see: https://minikube.sigs.k8s.io/docs/reference/drivers/none/
❗  kubectl and minikube configuration will be stored in /home/yangye
❗  To use kubectl or minikube commands as your own user, you may need to relocate them. For example, to overwrite your own settings, run:
    ▪ sudo mv /home/yangye/.kube /home/yangye/.minikube $HOME
    ▪ sudo chown -R $USER $HOME/.kube $HOME/.minikube
💡  This can also be done automatically by setting the env var CHANGE_MINIKUBE_NONE_USER=true
🔎  Verifying Kubernetes components...
🌟  Enabled addons: storage-provisioner, default-storageclass
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default


我们可以看一下当前集群所有资源情况:


$ sudo kubectl get all -A
NAMESPACE     NAME                                READY   STATUS    RESTARTS   AGE
kube-system   pod/coredns-54d67798b7-7kshc        1/1     Running   0          100s
kube-system   pod/etcd-ayato                      1/1     Running   0          108s
kube-system   pod/kube-apiserver-ayato            1/1     Running   0          108s
kube-system   pod/kube-controller-manager-ayato   1/1     Running   0          108s
kube-system   pod/kube-proxy-cvb25                1/1     Running   0          100s
kube-system   pod/kube-scheduler-ayato            1/1     Running   0          108s
kube-system   pod/storage-provisioner             1/1     Running   0          113s
NAMESPACE     NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
default       service/kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP                  117s
kube-system   service/kube-dns     ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP,9153/TCP   115s
NAMESPACE     NAME                        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
kube-system   daemonset.apps/kube-proxy   1         1         1       1            1           kubernetes.io/os=linux   115s
NAMESPACE     NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
kube-system   deployment.apps/coredns   1/1     1            1           115s
NAMESPACE     NAME                                 DESIRED   CURRENT   READY   AGE
kube-system   replicaset.apps/coredns-54d67798b7   1         1         1       100s

 

三、关于MiniKube常用命令


minikube version:查看版本


minikube status:查看状态


minikube profile list:查看属性


minikube addons list:查看当前支持的插件


minikube service list:查看服务列表


minikube node list:参看添加的node


minikube ssh:登录


minikube ip:获取IP地址


minikube start:启动或重启


minikube stop:停止


minikube delete:删除


minikube dashboard:在默认浏览器中启动仪表盘


rm-rf ~/.minikube:重置(清理所有缓存的镜像)


分类: 容器技术

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
3月前
|
存储 安全 C++
Odoo 安装方式选择:源码安装 vs Docker
Odoo部署常采用源码编译或Docker容器化,但分别面临依赖复杂、版本风险和服务化难题,以及镜像臃肿和扩展受限的问题。Websoft9提出混合方案,融合两者优势:通过智能环境适配、三阶段部署流程(环境预检、混合模式选择、持久化配置)及声明式YAML配置,实现高效、灵活的双模运行时。此方案显著降低依赖冲突解决时间(从83分钟至0),生产环境构建耗时缩短至8分钟,并达100% CVE漏洞修复率,适合ERP定制开发与规模化部署的企业需求。
|
6天前
|
Ubuntu Docker 容器
Ubuntu国内镜像Docker安装详细教程
Ubuntu国内镜像Docker安装详细教程
|
20天前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
103 4
|
1月前
|
Linux iOS开发 Docker
MyEMS开源系统安装之Linux/macOS上的DOcker
本指南详细介绍了如何在Linux/macOS上使用Docker部署MyEMS系统。主要内容包括:前置条件(如安装Docker、npm和MySQL),以及分步骤部署各个组件(如myems-api、myems-admin、myems-modbus-tcp等)。每个步骤涵盖源代码复制、环境配置、镜像构建、容器运行及日志管理等操作,并提供了多平台构建的支持。最后,指南还说明了默认端口和登录凭据,帮助用户快速启动并访问MyEMS的管理界面和Web界面。
74 1
|
2月前
|
关系型数据库 MySQL 数据库
Docker 安装常用软件相关命令
本文介绍了在CentOS 7.9系统上安装Docker的详细步骤,包括添加阿里云镜像源、安装Docker及相关组件、启动服务以及配置镜像加速。同时,还展示了如何通过Docker安装MySQL 5.7版本数据库,涵盖拉取镜像、创建数据目录、运行容器及配置挂载点等操作,并提供验证安装成功的命令和截图。适合需要部署Docker与MySQL环境的用户参考。
213 5
|
2月前
|
存储 弹性计算 Linux
安装Docker
常见操作系统安装docker步骤
209 15
|
2月前
|
Docker 容器
在openEuler 22.03 LTS上安装Docker CE和Docker Compose
以上就是在openEuler 22.03 LTS上安装Docker CE和Docker Compose的过程。希望这个指南能帮助你顺利完成安装。
462 12
|
3月前
|
Linux 虚拟化 Docker
win11怎么安装docker的必要设置自学软硬件工程师778天
win11怎么安装docker的必要设置自学软硬件工程师778天
win11怎么安装docker的必要设置自学软硬件工程师778天
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana(docker安装)
本文档详细介绍了如何使用Docker容器快速部署Prometheus监控系统和Grafana数据可视化平台。该方案适用于需要快速搭建监控环境的开发测试场景,具备部署简单、资源占用低、易于维护等特点。