一。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的更多相关文章

  1. 15分钟在笔记本上搭建 Kubernetes + Istio开发环境

    11月13~15日,KubeCon 上海大会召开,云原生是这个秋天最火热的技术.很多同学来问如何上手 Kubernetes和Istio 服务网格开发.本文将帮助你利用Docker CE桌面版,15分钟 ...

  2. Kubernetes 概念整理

    注:以下大部分内容来自网上摘录,以便后期查阅. Kubernetes (通常称为 K8s) 是用于自动部署.扩展和管理容器化(containerized)应用程序的开源系统,是 Google 内部工具 ...

  3. 剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略

    1.前言 Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路狂奔-- 虽然,Kuberne ...

  4. Kubernetes基本功能

    说明 目前kubernetes的资料介绍很多也很深刻,本文只是做一个针对自己学习k8s过程的介绍,仅仅是学习笔记的记录. 一.基本使用 1. 命令行 集群信息 Namespace 信息 Control ...

  5. 为什么 kubernetes 天然适合微服务

    最近总在思考,为什么在支撑容器平台和微服务的竞争中,Kubernetes 会取得最终的胜出,事实上从很多角度出发三大容器平台从功能方面来看,最后简直是一摸一样.(可参考<容器平台选型的十大模式: ...

  6. kubernetes之Kubeadm快速安装v1.12.0版

    通过Kubeadm只需几条命令即起一个单机版kubernetes集群系统,而后快速上手k8s.在kubeadm中,需手动安装Docker和kubeket服务,Docker运行容器引擎,kubelet是 ...

  7. 容器云技术选择之kubernetes和swarm对比

    swarm和k8s本质都是容器编排服务.它们都能把底层的宿主机抽象化,然后将应用从以构建好的镜像开始,最终以docker的方式部署到宿主机上.   应该选择哪种方案作为我们的容器云服务呢? 我觉得k8 ...

  8. Kubernetes 持续集成 SpringCloud

    写在开始之前,在开始之前我们需要了解几个概念: 1.什么是持续集成? 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次 ...

  9. 使用Rancher的RKE快速部署Kubernetes集群

    简要说明: 本文共涉及3台Ubuntu机器,1台RKE部署机器(192.168.3.161),2台Kubernetes集群机器(3.162和3.163). 先在Windows机器上,将rke_linu ...

随机推荐

  1. Java基础教程(22)--异常

    一.什么是异常   异常就是发生在程序的执行期间,破坏程序指令的正常流程的事件.当方法中出现错误时,该方法会创建一个对象并将其交给运行时系统.该对象称为异常对象,它包含有关错误的信息,包括错误的类型和 ...

  2. [js常用]连续播放音频

    许多音频连续播放.有的时候音频过大会分成多个音频.播放的时候需要连续播放 <!DOCTYPE HTML> <html> <head> <meta charse ...

  3. vue.js 项目打包

    vuejs是个前端框架,npm run dev的目的在于前端开发的时候可以实时调试.所以npm run dev 只是开发时期会用到,在生产环境中我们应该使用nginx,apahce tomcat等应用 ...

  4. 简洁php的MVC框架

    一.文件结构 建立3个文件夹 controller文件夹存放控制器文件 view文件夹存放视图文件 model文件夹存放数据文件 建立1个index.php 作为唯一入口 二.控制器 我们在contr ...

  5. BZOJ4475 [Jsoi2015]子集选取

    Description 有一些\(\{1\dots n\}\)的子集\(A_{i,j}, 1\leq j\leq i\leq k\)共\(\frac{k(k+1)}2\)个,满足\(A_{i,j}\s ...

  6. BZOJ1911: [Apio2010]特别行动队(dp 斜率优化)

    题意 题目链接 Sol 裸的斜率优化,注意推导过程中的符号问题. #include<bits/stdc++.h> #define Pair pair<int, int> #de ...

  7. oracel存储过程编写 以及plsql存储过程的debug

    1.语法: create or replace procedure messagebackup_createTable       //此处存储过程名称不能超过30个字符 as  tableName ...

  8. Vmware搭建LNMP环境(Centos7+Nginx+Mysql+PHP7.1.8)

    参考:1.Linux学习之CentOS(一)----在VMware虚拟机中安装CentOS 7(图文教程) 2.Centos7搭建LNMP环境 3.MySQL5.7修改默认root密码 4.CentO ...

  9. SESSION机制(转)

    转自:http://www.cnblogs.com/zyf-zhaoyafei/p/4477175.html 一:Session与Cookie Session:在服务器端创建并存放在服务器的内存中的, ...

  10. IOS下 input 被软键盘方案遮盖问题解决

    前言: 并没有完美解决 ! 场景: 最近在做企业微信H5的一个项目,里面有个动态列表页,开始输入框是隐藏的,点击评论才会出现并让 input 聚焦.经过测试在安卓上面应该没什么问题,但是iOS上面会出 ...