前言:本笔记仅记录学习记录,可能存在错误!!!使用的环境是Ubuntu Desktop 20.04,也有用Windows 10 操作的,根据的文档是minikube的文档教程,链接:https://minikube.sigs.k8s.io/docs/start/ ,使用此文档教程之前请确保已经安装了容器引擎,如Docker,并且要确保CPU核心数是双核及以上,不然会报错“the number of available CPUs 1 is less than the required 2”。

笔记内容:

  • 下载软件安装
  • 运行minikube集群
  • 与集群交互
  • 部署应用
  • 管理集群

1、下载软件安装

  下载软件安装使用的是debian分支打包好的包,执行命令:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_1.9.1-0_amd64.deb  #-O参数是使用Http协议,-L参数是跟随重定向。此命令使用curl工具下载minikube_1.9.1-0_amd64.deb文件,下载完成后就可以执行安装
sudo dpkg -i minikube_1.9.1-0_amd64.deb #执行安装.deb包,-i参数为install

 2、运行

  安装成功后,就可以进行运行操作了,执行命令:

minikube start #运行minikube,第一次运行过程中会下载镜像

3、与集群交互

  当运行minikube运行成功,就可以查看minikube运行的pods了,执行命令:

sudo snap install kubectl --classic #安装kubectl
kubectl get pods -A #查看所有的pods

  也可以打开dashboard查看,开启dashboard会打开浏览器页面,执行命令:

minikube dashboard #启动dashboard

 4、部署简单应用程序

   部署应用程序之前需要有镜像,minikube里面是包含了一个docker容器引擎的,里面有一个名字为k8s.gcr.io/echoserver的用作测试的镜像,执行命令:

minikube ssh #进入minikube终端
docker images #查看内置的docker镜像
exit #退出minikube终端

  有镜像,就可以使用命令是kubectl deployment xxx来部署应用程序了,执行命令:

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4 #--image是镜像,hello-minikube是部署的应用程序名称
kubectl get deployment #查看部署的应用程序信息,包括是否为ready状态

  ready状态下,我们就可以继续暴露应用程序的端口,类型--type参数有三种:ClusterIP, NodePort, or LoadBalancer,默认为ClusterIP,执行命令:

kubectl expose deployment hello-minikube --type=NodePort --port=8080  #设置部署的应用程序hello-minikube暴露8080端口,类型为NodePort(在每个Node上分配一个端口作为外部访问入口)
kubectl get services hello-minikube #查看创建的hello-minikube服务
kubectl port-forward service/hello-minikube 7080:8080 #设置端口转发

  这时候,端口转发已经设置好了,打开浏览器输入地址locahost:7080即可访问到部署的应用程序,如下图所示:

 5、管理集群

minikube pause #暂停集群而不影响部署的应用程序
minikube stop #停止集群,相对应的是minikube start启动集群
minikube config set memory 2048 #设置内存大小为2048MB,设置后创建新的集群会使用改配置
minikube addons list #查看扩展插件信息
minikube delete #删除集群

Kubernetes学习笔记之安装minikube并运行个简单应用程序的更多相关文章

  1. 【Kubernetes学习笔记】-使用Minikube快速部署K8S单机学习环境

    介绍 https://minikube.sigs.k8s.io/docs/ Minikube 用于快速在本地搭建 Kubernetes 单节点集群环境,它对硬件资源没有太高的要求,方便开发人员学习试用 ...

  2. Kubernetes 学习笔记(一):基础概念

    个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提 ...

  3. CentOS学习笔记--Tomcat安装

    Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...

  4. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  5. Kubernetes学习笔记(八):Deployment--声明式的升级应用

    概述 本文核心问题是:如何升级应用. 对于Pod的更新有两种策略: 一是删除全部旧Pod之后再创建新Pod.好处是,同一时间只会有一个版本的应用存在:缺点是,应用有一段时间不可用. 二是先创建新Pod ...

  6. ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心

    作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...

  7. ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁

    作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进 ...

  8. Android(java)学习笔记219:开发一个多界面的应用程序之两种意图

    1.两种意图: (1)显式意图: 在代码里面用intent设置要开启Activity的字节码.class文件: (2)隐式意图: Android(java)学习笔记218:开发一个多界面的应用程序之人 ...

  9. Android(java)学习笔记162:开发一个多界面的应用程序之两种意图

    1.两种意图: (1)显式意图: 在代码里面用intent设置要开启Activity的字节码.class文件: (2)隐式意图: Android(java)学习笔记218:开发一个多界面的应用程序之人 ...

随机推荐

  1. Springboot — 用更优雅的方式发HTTP请求:RestTemplate

    RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率. 我之前的HTTP开发是用ap ...

  2. springboot中使用h2数据库(内存模式)

    使用H2的优点,不需要装有服务端和客户端,在项目中包含一个jar即可,加上初始化的SQL就可以使用数据库了 在springboot中引入,我的版本是2.1.4,里面就包含有h2的版本控制 <!- ...

  3. CSS知识点记录

    1.浏览器style中显示的样式 这里面的样式,是行内样式或者是使用js添加的样式

  4. Graphql Tutorials(Episode 02)

    1.前言 我们在上篇已经了解Graphql的使命以及Graphql的概况,接下来,我们跑起来另外一个Helloworld来开启继续学习. 2.Helloworld(使用Graphql 原生API) 这 ...

  5. BloomFilter中保存的数据量

    结果 /** * @author WeiJiQian * BF_CARDINAL_THRESHOLD BF_FALSE_POSITIVE_RATE 保存的数据量 * 100,0000 0.01 391 ...

  6. 常用的一句话反弹shell总结

    文章转载来源:https://blog.csdn.net/qq_38684504/article/details/90047213#1.%20bash%E7%9B%B4%E6%8E%A5%E5%8F% ...

  7. Angular实战之使用NG-ZORRO创建一个企业级中后台框架

    前言: 在之前的一篇文章已经介绍过了,公司正在使用NG-ZORRO组件库开发后台应用,并且详细的介绍了Angular开发环境的搭建和项目的创建.这篇文章就是为了让大家熟悉了解我们该如何在Angular ...

  8. iOS label 添加删除线(删划线)遇到的坑

    1.添加删划线方法遇到的问题 -(void)lastLabelDeal:(NSString *)str1 string:(NSString *)str2 label:(UILabel *)label{ ...

  9. [AspNetCore3.1] 使用Serilog记录日志

    用到的单词 Sink 接收器模块.输出方式.接收模块库.输出模块库 Diagnostic 诊断 Enricher 扩展器 embedded 嵌入式的 compact 紧凑的.简洁的 concept 概 ...

  10. 给因特尔S2600CO服务器主板安装【SAS控制器】驱动

    给因特尔S2600CO服务器主板安装[SAS控制器]驱动 1:首先打开[设备管理器]找到未识别驱动的[SAS控制器]双击进入 2:在[详细信息]选项卡,选择[兼容Id]属性可以看到PCI\VEN_80 ...