kubernetes官网:https://kubernetes.io/docs/home/

也是怀着不情愿的心情,要开始kubernetes了,本身是非常热爱技术,尤其是容器技术,可能是最近有点累和懈怠,变得有些懒惰了。

每每这种情况,我都会去智联招聘搜一下docker。。。。薪资很高,看了具体的招聘要求,差距很大很大,感觉好累啊。只能说学海无涯,回头可能是岸。。。。话不多说了。开始吧

跑起来~~~

https://kubernetes.io/docs/tutorials/kubernetes-basics/

左面是教程菜单。

我们先来创建一个kubernetes集群,感受一下:

显示以下操作界面:

很热情的开始界面

左边是操作说明,右边是terminal,命令终端口

根据操作说明,我们在terminal中执行minikube start,然后执行kubectl get nodes,这样就创建好了一个单节点的kubernetes集群

集群的唯一节点为host01,需要注意的是当前执行命令的地方并不是host01.我们是在通过kubernetes的命令行工具远程管理集群

heapster,kubernetes-dashboard都是集群中运行的服务

集群就这么创建好了

kubernetes核心功能

部署应用:

kubectl run kubernetes-bootcamp  --image=docker.io/jocatalin/kubernetes-bootcamp:v1   --port=8080

注:显示的有点不正常

这里的deployment是kubernetes的一个术语,可以理解为应用。

kubernetes还有一个重要的术语:Pod

pod是容器的集合,通常会将紧密相关的一组容器放到一个POd中,同一个Pod中的所有容器共享IP地址和port空间,也就是说他们在一个newwork namespace中

Pod是kubernetes调度的最小单位,同一Pod中的容器始终被一起调度。

运行kubectl get pods

kubernetes-bootcamp-390780338-rsrzj   就是应用的pod

访问应用:

默认情况下,所有pod只能在集群内部访问。对于上面这个例子,要访问应用只能直接访问容器的8080端口。为了能从外部访问应用,我们需要将容器的8080端口映射到节点的端口。

执行如下命令:

kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080

执行kubectl get services可以查看应用被映射到那个端口

这里有两个service

kubernetes是默认的service,暂时不考虑

kubernetes-bootcamp是我们应用的service,8080端口已经映射到host01的31068端口,端口号是随机分配的,可以执行如下命令访问应用:

curl host01:31068

Scale应用:

默认情况下只运行一个副本,可以通过kubectl get deployments

执行以下命令将副本数增加到3个:

kubectl scale deployments/kubernetes-bootcamp --replicas=3

通过curl访问应用:

可以看到每次请求发送到不同的pod,三个副本轮询处理,这样就实现了负载均衡

要scale down也很方便,执行命令:

滚动更新:

当前应用使用的image版本为v1,执行如下命令将其升级到v2:

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

如果要退回v1版本也很容易,执行kubectl rollout undo

验证版本已经回退到v1

centos7下kubernetes(1。kubernetes---start)的更多相关文章

  1. Centos7下yum安装kubernetes

    一.前言    Kubernetes 是Google开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度.均衡容灾.服务注册.动态扩缩容等功能套件,目前centos yum源上 ...

  2. [Kubernetes]关于 Kubernetes ,你想要的,都在这儿了

    陆陆续续,关于 Kubernetes 写了有 20+ 篇文章了. 今天这篇文章来一个整合,从实践到理论,可以按需查看(我是按照博客发表时间来排序的,如果后续有想要更新的内容,也会及时更新到这篇文章中) ...

  3. centos7下kubernetes(3。部署kubernetes)

    环境:三个centos7 K8s2是Master;K8s1是node1:K8s3是node2 官方文档:https://kubernetes.io/docs/setup/independent/ins ...

  4. [Kubernetes]CentOS7下Etcd集群搭建

    Etcd简要介绍 Etcd是Kubernetes集群中的一个十分重要的组件,用于保存集群所有的网络配置和对象的状态信息 Etcd构建自身高可用集群主要有三种形式: ①静态发现: 预先已知 Etcd 集 ...

  5. centos7.5下kubeadm安装kubernetes集群安装

    文章是按https://blog.csdn.net/Excairun/article/details/88962769,来进行操作并记录相关结果 版本:k8s V14.0,docker-ce 18.0 ...

  6. [Kubernetes]CentOS7下搭建Harbor仓库

    环境依赖: Harbor仓库需要环境:Python 2.7或以上版本,Docker 1.10或以上,Docker Compose 1.6.0或以上. CentOS7自带Python,所以不需要安装. ...

  7. Centos7 使用 kubeadm 安装Kubernetes 1.13.3

    目录 目录 什么是Kubeadm? 什么是容器存储接口(CSI)? 什么是CoreDNS? 1.环境准备 1.1.网络配置 1.2.更改 hostname 1.3.配置 SSH 免密码登录登录 1.4 ...

  8. centos7使用kubeadm安装kubernetes集群

    参考资料:官方文档 一.虚拟机安装 配置说明: windows下使用vbox,centos17.6 min版,kubernetes的版本是1.14.1, 安装如下三台机器: 192.168.56.15 ...

  9. centos7使用kubeadm搭建kubernetes集群

    一.本地实验环境准备 服务器虚拟机准备 IP CPU 内存 hostname 192.168.222.129 >=2c >=2G master 192.168.222.130 >=2 ...

  10. 从centos7镜像到搭建kubernetes集群(kubeadm方式安装)

    在网上看了不少关于Kubernetes的视频,虽然现在还未用上,但是也是时候总结记录一下,父亲常教我的一句话:学到手的东西总有一天会有用!我也相信在将来的某一天会用到现在所学的技术.废话不多扯了... ...

随机推荐

  1. Java学习笔记之——构造方法

    构造方法:方法名和类名相同且没有返回值 1.作用 创建对象 对象初始化 2.普通方法的结构 权限修饰符 返回值类型 方法名(形参){ 方法体: } 3. 构造方法的结构 (1)结构 权限修饰符 方法名 ...

  2. FE 命令随笔

    FE_CMD ————— * >>>>>>>> Vue ________________________________________________ ...

  3. JS的函数节流(throttle)

    什么是函数节流? 介绍前,先说下背景.在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(其核心就是绑定mousemove),这种事件有一个特点,就是用户不必特地捣乱,他在 ...

  4. Angular调用Asp.net Core JWT Authentication接口

    基本思路是调用登录接口,获取token,使用token请求其他JWT接口: getHomeDetails(): Observable<HomeDetails> { let headers ...

  5. springboot 学习之路 6(定时任务)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  6. 学习用Node.js和Elasticsearch构建搜索引擎(5):mac本机部署canal

    1.背景介绍 最近做的一个项目需要快速检索数据,经过商讨后采用了ElasticSearch作为快速检索数据引擎,但是数据如何同步到ES中是个问题,我们最开始计划了定时任务.mysql trigger等 ...

  7. javascript的介绍、javascirpt的存在形式、javascript注释

    本文内容: javascript的介绍 javascirpt的存在形式 javascript注释 javascript的介绍: javascript是一种解释性脚本语言 它的用途是给html网页增加动 ...

  8. 智能ERP 交接班统计异常的解决方法

    请注意,有交接班统计数据不准确的需开启离线统计即可解决,交接班统计是按照结账时间来进行统计的 1.点击左侧导航栏中‘更多’-进入系统设置 2.进入营业设置后-开启离线统计-点击保存

  9. Cas 服务器 使用HTTP协议对外服务

    在上篇博文<Cas 服务器 下载.编译及部署>Cas启动后默认支持HTTPS连接,如果要使用使用HTTP连接访问,则会收到以下信息: 注:本文是将Cas服务器运行在Http协议模式下,非设 ...

  10. IntelliJ IDEA安装后需要必须做的一件事

    把Alt+斜杆 删除 Ctrl+空格修改成 Alt+斜杆 Ctrl+空格用过输入法的人都应该知道为什么要做上面一件事