kubernetes 菜鸟_菜鸟系列k8s——k8s快速入门(1)
k8s快速入门
1.快速创建k8s集群
点击教程菜单 1. Create a Cluster -> Interactive Tutorial - Creating a Cluster
note:通过 Kubernetes 的命令行工具 kubectl 远程管理集群
minikube start 创建集群
kubectl cluster-info 查看集群信息
Kubernetes master is running at https://172.17.0.15:8443
KubeDNS is running at https://172.17.0.15:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
kubectl get nodes 查看节点信息
NAME STATUS ROLES AGE VERSION
minikube Ready master 2m53s v1.13.3
2.部署应用
kubectl run kubernetes-bootcamp --image=docker.io/jocatalin/kubernetes-bootcamp:v1 --port=8080
显示信息
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
deployment.apps/kubernetes-bootcamp created
这里我们通过 kubectl run 部署了一个应用,命名为 kubernetes-bootcamp --image 指定Docker 镜像 --port 设置应用对外服务的端口
3.访问应用
默认情况下,所有 Pod只能在集群内部访问。为了能够从外部访问应用,我们需要将容器的 8080 端口映射到节点的端口。
kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
显示信息
service/kubernetes-bootcamp exposed
查看services及对应的映射端口
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 443/TCP 9m47s
kubernetes-bootcamp NodePort 10.105.140.245 8080:31048/TCP 82s
kubernetes 是默认的 service,暂时不用考虑。kubernetes-bootcamp 是我们应用的 service,8080 端口已经映射到 host01 的 31048 端口,端口号是随机分配的
通过curl命令进行访问
curl host01:30393
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-6c5cfd894b-ccqz7 | v=1
4.Scale 应用
默认情况下应用只会运行一个副本,可以通过 kubectl get deployments查看副本数。
kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
kubernetes-bootcamp 1/1 1 1 2m
增加副本个数
kubectl scale deployments/kubernetes-bootcamp --replicas=3
deployment.extensions/kubernetes-bootcamp scaled
$ kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
kubernetes-bootcamp 3/3 3 3 2m34s
减少副本个数
$ kubectl scale deployments/kubernetes-bootcamp --replicas=1
deployment.extensions/kubernetes-bootcamp scaled
$ kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
kubernetes-bootcamp 1/1 1 1 3m51s
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kubernetes-bootcamp-6c5cfd894b-9cn54 1/1 Running 0 41s
kubernetes-bootcamp-6c5cfd894b-ccqz7 1/1 Running 0 4m44s
kubernetes-bootcamp-6c5cfd894b-gnhgz 1/1 Running 0 41s
$ kubectl scale deployments/kubernetes-bootcamp --replicas=1
deployment.extensions/kubernetes-bootcamp scaled
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kubernetes-bootcamp-6c5cfd894b-9cn54 1/1 Terminating 0 57s
kubernetes-bootcamp-6c5cfd894b-ccqz7 1/1 Running 0 5m
kubernetes-bootcamp-6c5cfd894b-gnhgz 1/1 Terminating 0 57s
4.滚动更新
当前应用使用的 image 版本为 v1,执行如下命令将其升级到 v2:
$ kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
deployment.extensions/kubernetes-bootcamp image updated
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kubernetes-bootcamp-5bf4d5689b-4k5lb 1/1 Running 0 3s
kubernetes-bootcamp-5bf4d5689b-b9szr 1/1 Running 0 4s
kubernetes-bootcamp-5bf4d5689b-sxxs5 1/1 Running 0 4s
kubernetes-bootcamp-5bf4d5689b-zftkx 1/1 Running 0 3s
kubernetes-bootcamp-6c5cfd894b-ccqz7 1/1 Terminating 0 6m25s
kubernetes-bootcamp-6c5cfd894b-r4mtd 1/1 Terminating 0 6s
kubernetes-bootcamp-6c5cfd894b-r6txw 1/1 Terminating 0 6s
kubernetes-bootcamp-6c5cfd894b-vnbd6 1/1 Terminating 0 6s
$ curl host01:30393
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-5bf4d5689b-zftkx | v=2
通过 kubectl get pods 可以观察滚动更新的过程:v1 的 Pod 被逐个删除,同时启动了新的 v2 Pod。更新完成后访问新版本应用。
如果要回退到 v1 版本也很容易,执行 kubectl rollout undo 命令:
$ kubectl rollout undo deployments/kubernetes-bootcamp
deployment.extensions/kubernetes-bootcamp rolled back
$ curl host01:30393
Hello Kubernetes bootcamp! | Running on: kubernetes-bootcamp-6c5cfd894b-pq7kv | v=1
原文出处:https://www.cnblogs.com/i-dandan/p/10907997.html
kubernetes 菜鸟_菜鸟系列k8s——k8s快速入门(1)相关推荐
- 啃K8s之快速入门,以及哭吧S(k8s)单节点部署
啃K8s之快速入门,以及哭吧S(k8s)单节点部署 一:Kubernets概述 1.1:Kubernets是什么? 1.2:Kubernets特性 1.3:Kubernets群集架构与组件 1.3.1 ...
- python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解
使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用. ...
- baidumap vue 判断范围_懂一点前端—Vue快速入门
01. 什么是 Vue Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架,是当下很火的一个 JavaScript MVVM 库,是以 数据驱动和组件化 的思想构建的 ...
- java安卓开发 快速入门_安卓程序员如何快速入门后端开发常识
首先,对于安卓开发人员来说,学习一下后端开发知识是有必要的,一方面可以拓展自身的知识面,另一方面也可以推动自己走向全栈程序员发展路线,在云计算时代,全栈程序员的发展空间会更大一些. 相对来说,安卓程序 ...
- 涂鸦蓝牙SDK开发系列教程——1.快速入门
本系列课程将介绍如何使用 涂鸦蓝牙模组及其 SDK 进行产品开发,帮助开发者更快掌握 涂鸦蓝牙模组.涂鸦蓝牙 SDK.涂鸦 IoT 平台.涂鸦三明治开发套件.涂鸦云模组烧录授权平台 等开发工具的使用方 ...
- android java教程_[Java教程]Android开发快速入门
[Java教程]Android开发快速入门 0 2020-12-22 18:01:40 Xamarin.Android 应用程序剖析 以下屏幕截图列出了解决方案的内容. 下面是一个解决方案资源管理器, ...
- jmeter压测_简单七步,快速入门 JMeter原生压测
导入本地的 JMeter 原生脚本,即可快速发起一次压测. 前提条件 JMeter 脚本需要在本地调试成功. 请同时上传依赖的 CSV 或者 JAR 文件.CSV 文件的 File Name 只需要文 ...
- 我给女朋友讲编程html系列(1) -- Html快速入门
Html是一门编写网页的语言. 在我学习Html的时候,网上的很多朋友说,直接使用[记事本]编写就行了,最后保存为后缀名为 .html 的文件. 不过,我建议你用[Nodepad++]来编写网页,用这 ...
- mysql rds云数据库_云数据库 RDS MySQL快速入门手册
云数据库 RDS MySQL是一款基于成熟云计算技术提供的高性能数据库服务,具有入门版.基础版.通用版.进阶版这四种,但最近有朋友表示,说自己并不会使用云数据库 RDS MySQL,为了帮助大家更好设 ...
最新文章
- jQuery带缩略图的宽屏焦点图插件
- 远洋整站下载器不能用https_这可能是最全最好的爆破百度文库下载指南了!
- vs studio 2017/2015 连接mysql报错 You have a usable connection already.
- 指定查询条件,查询对应的集合List(单表)
- hdu3094 A tree game
- Windows Terminal Preview 1910 发布
- 计算机网络专业图片,计算机网络专业个人简历封面图片
- Python爬虫开发【第1篇】【机器视觉及Tesseract】
- SpringCloud微服务(02):Ribbon和Feign组件,实现服务调用的负载均衡
- .net 4.5 新特性 async await 一般处理程序实例
- 应聘的16个经典面试问题回答思路
- 虚拟机centos7的网络配置
- 【实习日报】2019年6月下半月 前端开发实习工作日报汇总
- Android App 性能优化之图片优化
- java 商城 商品查询_Javaweb网上商城项目实战(17)实现商品详情查询
- 国家版权局称中国软件盗版率已大降
- uboot 或者 linux 下限制 sata speed
- 寻求区块链研究者老铁的帮助
- 13.linux系统使用小结
- input子系统与tp驱动
热门文章
- Calling Extraterrestrial Intelligence Again
- 魔兽服务器排队微信,服务器排队严重:《魔兽世界》经典怀旧服执行47服免费角色转移计划...
- 一个Linux病毒艰辛短暂的一生
- android 地图相册,时光地图相册app下载-时光地图相册下载v1.0.2 安卓版-西西软件下载...
- c语言程序设计例案教程,C语言程序设计案例教程
- Ubuntu 14.10 安装 hadoop-2.6.0单机配置和伪分布式配置
- UVA 1471 Defense Lines 防线
- EChart中使用地图方式总结
- Nepnep战队:哪有什么一战成名,其实都是百炼成钢
- SAP收购Sybase的真实意图或强化BI