创建ReplicaSet

ReplicaSet的配置如下

apiVersion: apps/v1

kind: ReplicaSet

metadata:

name: myapp

namespace: default

spec:

replicas: 2

selector:

matchLabels:

app: myapp

release: canary

template:

metadata:

name: myapp-pod

labels:

app: myapp

release: canary

environment: qa

spec:

containers:

- name: myapp-container

image: ikubernetes/myapp:v1

ports:

- name: http

containerPort: 80

在这个ReplicaSet中,我们设置了两个label,app=myapp, release=canary , 创建rs后,查看

[root@master manifests]# kubectl create -f rs-demo.yaml --dry-run

replicaset.apps/myapp created (dry run)

[root@master manifests]# kubectl create -f rs-demo.yaml

replicaset.apps/myapp created

[root@master manifests]# kubectl get pods

NAME READY STATUS RESTARTS AGE

myapp-bj795 1/1 Running 0 18s

myapp-blmx8 1/1 Running 0 18s

[root@master manifests]# vim rs-demo.yaml

[root@master manifests]# kubectl get pods --show-labels

NAME READY STATUS RESTARTS AGE LABELS

myapp-b8sb5 1/1 Running 0 5m app=myapp,environment=qa,release=canary

myapp-blmx8 1/1 Running 0 8m app=myapp,environment=qa,release=canary

[root@master manifests]# kubectl get rs

NAME DESIRED CURRENT READY AGE

myapp 2 2 2 39s

实验

ReplicaSet会通过label app=myapp, release=canary 来筛选Pod,并且设定的符合该label的Pod副本应该为2个。

pod-demo.yaml文件的内容如下:

apiVersion: v1

kind: Pod

metadata:

name: pod-demo

namespace: default

labels:

app: myapp

tier: frontend

spec:

containers:

- name: myapp

image: ikubernetes/myapp:v1

ports:

- name: http

containerPort: 80

- name: https

containerPort: 443

- name: busybox

image: busybox:latest

#ImagePullPolicy: IfNotPresent

command:

- "/bin/sh"

- "-c"

- "sleep 3600"

此时,我们创建另一个pod

[root@master manifests]# kubectl create -f pod-demo.yaml

pod/pod-demo created

[root@master manifests]# kubectl get pods --show-labels

NAME READY STATUS RESTARTS AGE LABELS

myapp-b8sb5 1/1 Running 0 5m app=myapp,environment=qa,release=canary

myapp-blmx8 1/1 Running 0 7m app=myapp,environment=qa,release=canary

pod-demo 2/2 Running 0 11s app=myapp,tier=frontend

可以看到,pod-demo的label为 app=myapp,tier=frontend ,我们尝试给pod-demo添加一个label release=canary ,看下会出现什么效果。

[root@master manifests]# kubectl label pods pod-demo release=canary

pod/pod-demo labeled

[root@master manifests]# kubectl get pods --show-labels

NAME READY STATUS RESTARTS AGE LABELS

myapp-b8sb5 1/1 Running 0 5m app=myapp,environment=qa,release=canary

myapp-blmx8 1/1 Running 0 8m app=myapp,environment=qa,release=canary

pod-demo 2/2 Terminating 0 34s app=myapp,release=canary,tier=frontend

可以发现: pod-demo的状态已经为 Terminating。 说明ReplicaSet通过标签选择器获取到了三个副本,然后预期的副本数被设定为2,它随机杀掉了一个。

应该是随机的, 不过,我测试了几次,都是把新建的pod-demo杀掉了。

java replica set_kubernetes ReplicaSet的简单使用相关推荐

  1. java replica set_Kubernetes对象之ReplicaSet

    说到ReplicaSet对象,得先说说ReplicationController(简称为RC).在旧版本的Kubernetes中,只有ReplicationController对象.它的主要作用是确保 ...

  2. 《JAVA与模式》之简单工厂模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...

  3. python比java简单好学-python和java哪个学起来更简单

    在近几年Python的呼声越来越高,很多刚开始起步想要学习编程的朋友都会犹豫要不要选择学习Python,毕竟作为人工智能时代的首选语言这个诱惑还是很大的.在选择上最纠结的就是Python和Java选择 ...

  4. java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片

    [Java教程][HTML5] Canvas绘制简单图片 0 2016-05-13 13:00:04 获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象 ...

  5. java读取ACCESS数据库的简单示例

    java读取ACCESS数据库的简单示例  虽然简单,对初学者来说,如果没有一段可以成功执行的代码供参考,还真难调试  先用ACCESS建一个数据库 DB1.MDB,里面有一表"table1 ...

  6. Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信

    本文计划采用socket实现客户端和服务端的任意双向通信,即客户端可以随时给服务端发消息,服务端也可以随时给客户端发消息,最终结果就是一个类似与QQ的聊天软件的功能. 以下代码可以直接拷贝到Eclip ...

  7. Java中利用socket实现简单的服务端与客户端的通信(基础级)

    在上一篇文章中,简单的介绍了java中入门级的socket编程,简单的实现了客户端像服务器端发送数据,服务器端将数据接收并显示在控制台,没有涉及多线程.上一篇文章的链接:Java中利用socket实现 ...

  8. java 向nodejs 发送请求简单案例

    java  向nodejs 发送请求简单案例 最近在做nodejs的东西,一直不明白java如何与nodejs建立连接,下面写了一个简单demo: nodejs端: var http = requir ...

  9. linux控制台单人五子棋简书,Java控制台版五子棋的简单实现方法

    这篇文章主要给大家介绍了关于Java控制台版五子棋的简单实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 设计一个10*1 ...

最新文章

  1. wso2_使用WSO2 ESB进行邮件内容过滤
  2. 多元函数严格凹 海塞矩阵正定_海森矩阵的应用:多元函数极值的判定
  3. boost::static_assert简单的测试程序
  4. salero网店的官方邮箱设置
  5. 对口升学考试计算机应用知识点,湖南省对口升学考试计算机应用类试题含参考答案...
  6. 数百万台车联网设备同时在线0故障,中瑞集团的云原生探索之路 | 云原生Talk
  7. python 多线程同步_Python利用多线程同步锁实现多窗口订票系统(推荐)
  8. 正则表达式中原子的5种类型
  9. C# 数据类型转换
  10. DedeCMS 批量删除垃圾注册用户和垃圾文档
  11. python创建时间序列_python时间序列按频率生成日期
  12. 特斯拉Model X撞高速中央隔离带起火,司机受伤身亡
  13. Luogu P1041 [2003NOIP提高组]传染病控制
  14. Security+ 学习笔记8 渗透测试和安全练习
  15. android activity 测试,android – 最快的方法来创建一个模拟Activity来进行测试
  16. 【MB051】炫酷BAT代码 ① 装神系列→可参考
  17. 代码整洁之道内容概括
  18. 计算机分析桁架受力,结构力学教学中桁架的概念分析与实践
  19. 屋顶材料/光伏板美标ASTM E108防火阻燃等级怎么分类
  20. 【菜鸟学Python】爬取果壳问答

热门文章

  1. 物联网技术(基本概述说明)
  2. Spring Boot 集成支付宝 沙箱支付
  3. 5分钟,10行代码!带你用Python做个电脑文件清道夫!
  4. java生成1到10的随机数_用java生成一个1到10十个数字随机排列的数组
  5. 传统商道谋定重整电商奇迹-经信研究:李玉庭谈红孩子模式
  6. 继三子棋后,征服扫雷
  7. 千锋2018年最新php基础进阶加高级实战全套视频教程
  8. 三网融合可借鉴欧盟视听新媒体内容规制
  9. NOIP 2008 普及组初赛试题 解题报告、题解及选择题思路,高质量
  10. Internet安全协议 学习笔记