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)相关推荐

  1. 啃K8s之快速入门,以及哭吧S(k8s)单节点部署

    啃K8s之快速入门,以及哭吧S(k8s)单节点部署 一:Kubernets概述 1.1:Kubernets是什么? 1.2:Kubernets特性 1.3:Kubernets群集架构与组件 1.3.1 ...

  2. python符号格式化设置区间_Python 数值区间处理_对interval 库的快速入门详解

    使用 Python 进行数据处理的时候,常常会遇到判断一个数是否在一个区间内的操作.我们可以使用 if else 进行判断,但是,既然使用了 Python,那我们当然是想找一下有没有现成的轮子可以用. ...

  3. baidumap vue 判断范围_懂一点前端—Vue快速入门

    01. 什么是 Vue Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架,是当下很火的一个 JavaScript MVVM 库,是以 数据驱动和组件化 的思想构建的 ...

  4. java安卓开发 快速入门_安卓程序员如何快速入门后端开发常识

    首先,对于安卓开发人员来说,学习一下后端开发知识是有必要的,一方面可以拓展自身的知识面,另一方面也可以推动自己走向全栈程序员发展路线,在云计算时代,全栈程序员的发展空间会更大一些. 相对来说,安卓程序 ...

  5. 涂鸦蓝牙SDK开发系列教程——1.快速入门

    本系列课程将介绍如何使用 涂鸦蓝牙模组及其 SDK 进行产品开发,帮助开发者更快掌握 涂鸦蓝牙模组.涂鸦蓝牙 SDK.涂鸦 IoT 平台.涂鸦三明治开发套件.涂鸦云模组烧录授权平台 等开发工具的使用方 ...

  6. android java教程_[Java教程]Android开发快速入门

    [Java教程]Android开发快速入门 0 2020-12-22 18:01:40 Xamarin.Android 应用程序剖析 以下屏幕截图列出了解决方案的内容. 下面是一个解决方案资源管理器, ...

  7. jmeter压测_简单七步,快速入门 JMeter原生压测

    导入本地的 JMeter 原生脚本,即可快速发起一次压测. 前提条件 JMeter 脚本需要在本地调试成功. 请同时上传依赖的 CSV 或者 JAR 文件.CSV 文件的 File Name 只需要文 ...

  8. 我给女朋友讲编程html系列(1) -- Html快速入门

    Html是一门编写网页的语言. 在我学习Html的时候,网上的很多朋友说,直接使用[记事本]编写就行了,最后保存为后缀名为 .html 的文件. 不过,我建议你用[Nodepad++]来编写网页,用这 ...

  9. mysql rds云数据库_云数据库 RDS MySQL快速入门手册

    云数据库 RDS MySQL是一款基于成熟云计算技术提供的高性能数据库服务,具有入门版.基础版.通用版.进阶版这四种,但最近有朋友表示,说自己并不会使用云数据库 RDS MySQL,为了帮助大家更好设 ...

最新文章

  1. jQuery带缩略图的宽屏焦点图插件
  2. 远洋整站下载器不能用https_这可能是最全最好的爆破百度文库下载指南了!
  3. vs studio 2017/2015 连接mysql报错 You have a usable connection already.
  4. 指定查询条件,查询对应的集合List(单表)
  5. hdu3094 A tree game
  6. Windows Terminal Preview 1910 发布
  7. 计算机网络专业图片,计算机网络专业个人简历封面图片
  8. Python爬虫开发【第1篇】【机器视觉及Tesseract】
  9. SpringCloud微服务(02):Ribbon和Feign组件,实现服务调用的负载均衡
  10. .net 4.5 新特性 async await 一般处理程序实例
  11. 应聘的16个经典面试问题回答思路
  12. 虚拟机centos7的网络配置
  13. 【实习日报】2019年6月下半月 前端开发实习工作日报汇总
  14. Android App 性能优化之图片优化
  15. java 商城 商品查询_Javaweb网上商城项目实战(17)实现商品详情查询
  16. 国家版权局称中国软件盗版率已大降
  17. uboot 或者 linux 下限制 sata speed
  18. 寻求区块链研究者老铁的帮助
  19. 13.linux系统使用小结
  20. input子系统与tp驱动

热门文章

  1. Calling Extraterrestrial Intelligence Again
  2. 魔兽服务器排队微信,服务器排队严重:《魔兽世界》经典怀旧服执行47服免费角色转移计划...
  3. 一个Linux病毒艰辛短暂的一生
  4. android 地图相册,时光地图相册app下载-时光地图相册下载v1.0.2 安卓版-西西软件下载...
  5. c语言程序设计例案教程,C语言程序设计案例教程
  6. Ubuntu 14.10 安装 hadoop-2.6.0单机配置和伪分布式配置
  7. UVA 1471 Defense Lines 防线
  8. EChart中使用地图方式总结
  9. Nepnep战队:哪有什么一战成名,其实都是百炼成钢
  10. SAP收购Sybase的真实意图或强化BI