Kubernetes学习笔记之安装minikube并运行个简单应用程序
前言:本笔记仅记录学习记录,可能存在错误!!!使用的环境是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并运行个简单应用程序的更多相关文章
- 【Kubernetes学习笔记】-使用Minikube快速部署K8S单机学习环境
介绍 https://minikube.sigs.k8s.io/docs/ Minikube 用于快速在本地搭建 Kubernetes 单节点集群环境,它对硬件资源没有太高的要求,方便开发人员学习试用 ...
- Kubernetes 学习笔记(一):基础概念
个人笔记,仅本人查阅使用,不保证正确. 零.微服务 微服务架构专注于应用解耦合,通过将应用彻底地组件化和服务化,每个微服务只包含一个非常小的功能,比如权限管理.日志收集等等.由这一组微服务组合起来,提 ...
- CentOS学习笔记--Tomcat安装
Tomcat安装 通常情况下我们要配置Tomcat是很容易的一件事情,但是如果您要架设多用户多服务的Java虚拟主机就不那么容易了.其中最大的一个问题就是Tomcat执行权限.普通方式配置的Tomca ...
- OracleDesigner学习笔记1――安装篇
OracleDesigner学习笔记1――安装篇 QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一. 前言 Oracle是当 ...
- Kubernetes学习笔记(八):Deployment--声明式的升级应用
概述 本文核心问题是:如何升级应用. 对于Pod的更新有两种策略: 一是删除全部旧Pod之后再创建新Pod.好处是,同一时间只会有一个版本的应用存在:缺点是,应用有一段时间不可用. 二是先创建新Pod ...
- ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心
作者:Grey 原文地址:ZooKeeper学习笔记三:使用ZooKeeper实现一个简单的配置中心 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 很多程序往 ...
- ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁
作者:Grey 原文地址: ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁 前置知识 完成ZooKeeper集群搭建以及熟悉ZooKeeperAPI基本使用 需求 当多个进 ...
- Android(java)学习笔记219:开发一个多界面的应用程序之两种意图
1.两种意图: (1)显式意图: 在代码里面用intent设置要开启Activity的字节码.class文件: (2)隐式意图: Android(java)学习笔记218:开发一个多界面的应用程序之人 ...
- Android(java)学习笔记162:开发一个多界面的应用程序之两种意图
1.两种意图: (1)显式意图: 在代码里面用intent设置要开启Activity的字节码.class文件: (2)隐式意图: Android(java)学习笔记218:开发一个多界面的应用程序之人 ...
随机推荐
- Springboot — 用更优雅的方式发HTTP请求:RestTemplate
RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率. 我之前的HTTP开发是用ap ...
- springboot中使用h2数据库(内存模式)
使用H2的优点,不需要装有服务端和客户端,在项目中包含一个jar即可,加上初始化的SQL就可以使用数据库了 在springboot中引入,我的版本是2.1.4,里面就包含有h2的版本控制 <!- ...
- CSS知识点记录
1.浏览器style中显示的样式 这里面的样式,是行内样式或者是使用js添加的样式
- Graphql Tutorials(Episode 02)
1.前言 我们在上篇已经了解Graphql的使命以及Graphql的概况,接下来,我们跑起来另外一个Helloworld来开启继续学习. 2.Helloworld(使用Graphql 原生API) 这 ...
- BloomFilter中保存的数据量
结果 /** * @author WeiJiQian * BF_CARDINAL_THRESHOLD BF_FALSE_POSITIVE_RATE 保存的数据量 * 100,0000 0.01 391 ...
- 常用的一句话反弹shell总结
文章转载来源:https://blog.csdn.net/qq_38684504/article/details/90047213#1.%20bash%E7%9B%B4%E6%8E%A5%E5%8F% ...
- Angular实战之使用NG-ZORRO创建一个企业级中后台框架
前言: 在之前的一篇文章已经介绍过了,公司正在使用NG-ZORRO组件库开发后台应用,并且详细的介绍了Angular开发环境的搭建和项目的创建.这篇文章就是为了让大家熟悉了解我们该如何在Angular ...
- iOS label 添加删除线(删划线)遇到的坑
1.添加删划线方法遇到的问题 -(void)lastLabelDeal:(NSString *)str1 string:(NSString *)str2 label:(UILabel *)label{ ...
- [AspNetCore3.1] 使用Serilog记录日志
用到的单词 Sink 接收器模块.输出方式.接收模块库.输出模块库 Diagnostic 诊断 Enricher 扩展器 embedded 嵌入式的 compact 紧凑的.简洁的 concept 概 ...
- 给因特尔S2600CO服务器主板安装【SAS控制器】驱动
给因特尔S2600CO服务器主板安装[SAS控制器]驱动 1:首先打开[设备管理器]找到未识别驱动的[SAS控制器]双击进入 2:在[详细信息]选项卡,选择[兼容Id]属性可以看到PCI\VEN_80 ...