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:开发一个多界面的应用程序之人 ...
随机推荐
- hiveSQL和MySQL区别
1.hive支持按行分割,按字段分割,如按','分割: lateral view explode(split( , ',')) 2.hive不支持等值连接,即不支持where a.id = b.id的 ...
- geoserver的demo使用过程
先贴一个效果图,使用的geoserver版本2.18.0,需要对应版本插件netcdf插件[Extensions>Coverage Formats>NetCDF],使用tomcat8进行发 ...
- 代理ip知识
一.没有使用代理服务器的情况: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARDED_FOR = 没数值或不显示 二.使用 ...
- 如何push一个docker镜像到DockerHub上
在DockerHub上创建账号:https://hub.docker.com/ 这里我的账号是firewarm 本地下载镜像(这里拿alpine做示例),并为镜像打tag [root@host-30 ...
- (菜鸟都能看懂的)网络最大流最小割,Ford-Fulkerson及Dinic详解
关于网络流: 1.定义 个人理解网络流的意思便是由一条条水管以及一个源点S一个汇点T和一些节点组成的一张图,现在要从S点流水到T点,问怎么流才能让流到T的流量最大.边权表示的是这条水管的最大流量,假设 ...
- Shell----监控CPU/内存/负载高时的进程
Shell----监控CPU/内存/负载高时的进程 1.编写脚本 vim cpu-warning.sh #!/bin/bash #监控系统cpu的情况脚本程序 #取当前空闲cpu百份比值(只取整数部分 ...
- matplotlib的学11-image图片
import matplotlib.pyplot as plt import numpy as np ''' 这一节我们讲解怎样在matplotlib中打印出图像. 这里我们打印出的是纯粹的数字,而非 ...
- php代码审计整理
目录 变量覆盖 1x01.extract 变量覆盖 定义和用法 语法 漏洞产生:使用了默认设置 攻击方法:制造变量名冲突,对于需要相等的值可以同时置空 修复:设定一个冲突时的处理规则 例题: 1x02 ...
- Mysql主从数据库(master/slave),实现读写分离
在之前的一篇文章中,阐述了如何在高并发高负载的场景下使用nginx做后台服务的负载均衡:在阿里云Centos上配置nginx+uwsgi+负载均衡配置,但是不要以为这样做了就是一劳永逸的,到了数据业务 ...
- python scipy 求解简单线性方程组和fmin求函数最小值
###这是一个利用内置函数求最小值#####def func(x): return x ** 2 - 2 *x x = 1 func(x) opt.fmin(func ,x)## 用scipy求解线性 ...