上手 Kubernetes
一。Kubernetes架构

二。重要的几个概念
1.Pod:最小单元
1.1 一个Pod里可以有多个Container
1.2这些container共享这个pod的同一个网络地址,同一个文件系统,通过127.0.0.1互访等
1.3彼此间访问速度快,而且生命周期是同步的
2.service:
3.label:
4.deployment:
4.1 创建副本,取代了rc
4.2 整合了灰度发布,暂停,恢复发布
4.3 整合了故障自愈
4.4 新增了回滚
。。。
deployment --> replicaset --> pod
三。安装
四。使用
(一) 创建deployment及pod
1. 创建一个deployment:
kubectl run nginx --image=nginx:1.11.4-alpine
2. 删除一个deployment:
kubectl delete deployment nginx
3. 查看创建的deployment:
kubectl get deployment nginx
4. 查看deployment的详细信息
kubectl describe deployment nginx
5. 查看pod:
kubectl get pod
kubectl get pod -o wide
6. 查看pod日志
kubectl logs xxx
7.进入pod里查看
kubectl exec -it xxx /bin/bash
(二) 创建service
方法一:
1. touch nginx.svc.yaml
2. vim nginx.svc.yaml

yaml文件的格式:同一层级字段要对其,前面个空格多少五所谓,但空格的数量一定是一样的。
3. kubectl create -f nginx.svc.yaml
4. 查看创建的service:
kubectl get svc
5. 查看路由到endpoint上情况:
kubectl get ep
方法二:
kubectl expose nginx --type=NodePort --name=nginx-expose --port=80

删除一个sevice
kubectl delete svc nginx-expose
(三)扩展Deployment及Pod的数量:
1. 扩展命令:
kubectl scale deploy nginx --replicas=3
2. 查看扩展的情况:
kubectl get deploy nginx
kubectl describe deploy nginx
kuberctl get rs
kuberctl get pod

3. 查看service路由的情况:

(四)灰度发布及回滚
1. 版本升级:
kubectl set image deploy nginx nginx=nginx:1.7.9
2. 查看升级过程:
kubectl rollout status deploy nginx
kubectl describe deploy nginx
3. 查看history:
3.1 查看所有的history: kubectl rollout history deploy nginx
3.2 查看某个history的详细信息:kubectl rollout history deploy nginx --revision=2
4. 查看新老replicaset:
kubectl get rs
5. 发布异常时的追踪:
5.1 查看发布历史:kubectl rollout history deploy nginx
5.2 查看有问题的发布版本:kubectl rollout history deploy nginx --revision=2
5.3 查看rs: kubectl get rs
5.4 查看详细的rs: kubectl describe rs nginx-xxx
5.5 查看rs创建的pod: kubectl get pod
5.6 查看pod的详细信息: kubectl describe pod nginx-xxx-yyyy
6.回滚:
kubectl rollout undo deploy nginx
7.删除一个pod:
kubectl delete pod nginx-xxx-yyyy
上手 Kubernetes的更多相关文章
- 15分钟在笔记本上搭建 Kubernetes + Istio开发环境
11月13~15日,KubeCon 上海大会召开,云原生是这个秋天最火热的技术.很多同学来问如何上手 Kubernetes和Istio 服务网格开发.本文将帮助你利用Docker CE桌面版,15分钟 ...
- Kubernetes 概念整理
注:以下大部分内容来自网上摘录,以便后期查阅. Kubernetes (通常称为 K8s) 是用于自动部署.扩展和管理容器化(containerized)应用程序的开源系统,是 Google 内部工具 ...
- 剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略
1.前言 Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路狂奔-- 虽然,Kuberne ...
- Kubernetes基本功能
说明 目前kubernetes的资料介绍很多也很深刻,本文只是做一个针对自己学习k8s过程的介绍,仅仅是学习笔记的记录. 一.基本使用 1. 命令行 集群信息 Namespace 信息 Control ...
- 为什么 kubernetes 天然适合微服务
最近总在思考,为什么在支撑容器平台和微服务的竞争中,Kubernetes 会取得最终的胜出,事实上从很多角度出发三大容器平台从功能方面来看,最后简直是一摸一样.(可参考<容器平台选型的十大模式: ...
- kubernetes之Kubeadm快速安装v1.12.0版
通过Kubeadm只需几条命令即起一个单机版kubernetes集群系统,而后快速上手k8s.在kubeadm中,需手动安装Docker和kubeket服务,Docker运行容器引擎,kubelet是 ...
- 容器云技术选择之kubernetes和swarm对比
swarm和k8s本质都是容器编排服务.它们都能把底层的宿主机抽象化,然后将应用从以构建好的镜像开始,最终以docker的方式部署到宿主机上. 应该选择哪种方案作为我们的容器云服务呢? 我觉得k8 ...
- Kubernetes 持续集成 SpringCloud
写在开始之前,在开始之前我们需要了解几个概念: 1.什么是持续集成? 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次 ...
- 使用Rancher的RKE快速部署Kubernetes集群
简要说明: 本文共涉及3台Ubuntu机器,1台RKE部署机器(192.168.3.161),2台Kubernetes集群机器(3.162和3.163). 先在Windows机器上,将rke_linu ...
随机推荐
- maven配置Mac平台
Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录.例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven cl ...
- Java 获取当前时间前一个小时的时间
/** * 获取当前时间前一个小时的时间 */ public static void beforeOneHourToNowDate() { Calendar c = new Calendar.getI ...
- HwUI,CMS管理系统模板,漂亮,简单,兼容好
HwUI兼容目前所有浏览器,IE6+,Opera,Firefox,Chorme,Safari,由于IE6基本已废弃,所以也没有测试IE6的兼容,但做了部分IE6兼容调整.HwUI操作简单,路由导航不需 ...
- LeetCode Tries Prefix Tree
class TrieNode { public: ; TrieNode* child[NR_FANOUT]; int count; // Initialize your data structure ...
- 基于Vue实现图片在指定区域内移动
当图片比要显示的区域大时,需要将多余的部分隐藏掉,我们可以通过绝对定位来实现,并通过动态修改图片的left值和top值从而实现图片的移动.具体实现效果如下图,如果我们移动的是div 实现思路相仿. 此 ...
- nginx的MainLine version、Stable version、Legacy versions
Nginx的版本说明Mainline version:在线版本,正处于开发状态Stable version :稳定版本(一般下载使用)Legacy version :遗留版本,遗留的老的版本 Linu ...
- Tomcat、Apache、IIS这三种Web服务器来讲述3种搭建JSP运行环境的方法
一.相关软件介绍 1. J2SDK:Java2的软件开发工具,是Java应用程序的基础.JSP是基于Java技术的,所以配置JSP环境之前必须要安装J2SDK. 2. Apache服务器:Apache ...
- angularjs初识ng-app、ng-model、ng-repeat指令
ng-app属性是angular.js的标志语句,它标记了angular.js的作用域.ng-app可以添加在很多地方,像上面那样添加到html标签上,说明angular脚本对整个页面都起作用.也可以 ...
- css中padding与margin
CSS padding margin border属性详解 图解CSS padding.margin.border属性W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来 ...
- 可以触发点击事件并变色的UILabel
可以触发点击事件并变色的UILabel 谁说UILabel不能够当做button处理点击事件呢?今天,笔者就像大家提供一个改造过的,能够触发点击事件并变色的UILabel:) 效果图: 还能当做计时器 ...