java replica set_kubernetes ReplicaSet的简单使用
创建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的简单使用相关推荐
- java replica set_Kubernetes对象之ReplicaSet
说到ReplicaSet对象,得先说说ReplicationController(简称为RC).在旧版本的Kubernetes中,只有ReplicationController对象.它的主要作用是确保 ...
- 《JAVA与模式》之简单工厂模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...
- python比java简单好学-python和java哪个学起来更简单
在近几年Python的呼声越来越高,很多刚开始起步想要学习编程的朋友都会犹豫要不要选择学习Python,毕竟作为人工智能时代的首选语言这个诱惑还是很大的.在选择上最纠结的就是Python和Java选择 ...
- java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片
[Java教程][HTML5] Canvas绘制简单图片 0 2016-05-13 13:00:04 获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象 ...
- java读取ACCESS数据库的简单示例
java读取ACCESS数据库的简单示例 虽然简单,对初学者来说,如果没有一段可以成功执行的代码供参考,还真难调试 先用ACCESS建一个数据库 DB1.MDB,里面有一表"table1 ...
- Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信
本文计划采用socket实现客户端和服务端的任意双向通信,即客户端可以随时给服务端发消息,服务端也可以随时给客户端发消息,最终结果就是一个类似与QQ的聊天软件的功能. 以下代码可以直接拷贝到Eclip ...
- Java中利用socket实现简单的服务端与客户端的通信(基础级)
在上一篇文章中,简单的介绍了java中入门级的socket编程,简单的实现了客户端像服务器端发送数据,服务器端将数据接收并显示在控制台,没有涉及多线程.上一篇文章的链接:Java中利用socket实现 ...
- java 向nodejs 发送请求简单案例
java 向nodejs 发送请求简单案例 最近在做nodejs的东西,一直不明白java如何与nodejs建立连接,下面写了一个简单demo: nodejs端: var http = requir ...
- linux控制台单人五子棋简书,Java控制台版五子棋的简单实现方法
这篇文章主要给大家介绍了关于Java控制台版五子棋的简单实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 设计一个10*1 ...
最新文章
- wso2_使用WSO2 ESB进行邮件内容过滤
- 多元函数严格凹 海塞矩阵正定_海森矩阵的应用:多元函数极值的判定
- boost::static_assert简单的测试程序
- salero网店的官方邮箱设置
- 对口升学考试计算机应用知识点,湖南省对口升学考试计算机应用类试题含参考答案...
- 数百万台车联网设备同时在线0故障,中瑞集团的云原生探索之路 | 云原生Talk
- python 多线程同步_Python利用多线程同步锁实现多窗口订票系统(推荐)
- 正则表达式中原子的5种类型
- C# 数据类型转换
- DedeCMS 批量删除垃圾注册用户和垃圾文档
- python创建时间序列_python时间序列按频率生成日期
- 特斯拉Model X撞高速中央隔离带起火,司机受伤身亡
- Luogu P1041 [2003NOIP提高组]传染病控制
- Security+ 学习笔记8 渗透测试和安全练习
- android activity 测试,android – 最快的方法来创建一个模拟Activity来进行测试
- 【MB051】炫酷BAT代码 ① 装神系列→可参考
- 代码整洁之道内容概括
- 计算机分析桁架受力,结构力学教学中桁架的概念分析与实践
- 屋顶材料/光伏板美标ASTM E108防火阻燃等级怎么分类
- 【菜鸟学Python】爬取果壳问答