小于博客 小于博客
首页
  • Java学习笔记
  • Docker专区
  • 实战教程
  • Shell
  • 内存数据库
  • Vue学习笔记
  • Nginx
  • Php
  • CentOS
  • Docker
  • Gitlab
  • GitHub
  • MySql
  • MongoDB
  • OpenVPN
  • 配置文件详解
  • Other
  • ELK
  • K8S
  • Nexus
  • Jenkins
  • 随写编年
  • 电影音乐
  • 效率工具
  • 博客相关
  • 最佳实践
  • 迎刃而解
  • 学习周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • 网站状态 (opens new window)
    • json2go (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

小于博客

行者常至,为者常成
首页
  • Java学习笔记
  • Docker专区
  • 实战教程
  • Shell
  • 内存数据库
  • Vue学习笔记
  • Nginx
  • Php
  • CentOS
  • Docker
  • Gitlab
  • GitHub
  • MySql
  • MongoDB
  • OpenVPN
  • 配置文件详解
  • Other
  • ELK
  • K8S
  • Nexus
  • Jenkins
  • 随写编年
  • 电影音乐
  • 效率工具
  • 博客相关
  • 最佳实践
  • 迎刃而解
  • 学习周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • 网站状态 (opens new window)
    • json2go (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • Nexus系列文章

  • Jenkins系列文章

  • ELK笔记

  • Kubernetes笔记

    • 手动部署kubernetes-1-8-6集群

    • 其他姿势快速部署

    • 基础学习

      • k8s整体架构的知识整理
      • 配置kubectl命令补全功能
      • k8s基本使用入门-使用Pod
      • k8s基本使用入门-了解ReplicationController
      • k8s基本使用入门-了解ReplicaSet
      • k8s基本使用入门-了解deployments
      • k8s基本使用入门-了解Service
    • 从新出发

  • 系列专题
  • Kubernetes笔记
  • 基础学习
小于博客
2018-12-07

k8s基本使用入门-了解ReplicaSet

现在,再去了解一个新的定义方式。

了解之前,先将刚刚的 pod 删除。

[root@master replicas-set]$kubectl delete -f rc_nginx.yml
replicationcontroller "nginx" deleted
[root@master replicas-set]$kubectl get pods
NAME          READY     STATUS        RESTARTS   AGE
nginx-99nns   0/1       Terminating   0          6m
nginx-c5nk4   0/1       Terminating   0          49m
nginx-fjnrn   0/1       Terminating   0          6m
nginx-r2zcm   0/1       Terminating   0          49m
[root@master replicas-set]$kubectl get pods
NAME          READY     STATUS        RESTARTS   AGE
nginx-fjnrn   0/1       Terminating   0          6m
[root@master replicas-set]$kubectl get pods
No resources found.
1
2
3
4
5
6
7
8
9
10
11
12
13

可以看到 pod 会慢慢的消失掉,有点淡入淡出的那种感觉哈。

那么新的定义类型叫做ReplicaSet。

其实这个定义方式与上边介绍的ReplicationController非常像,官网这样介绍:

ReplicaSet 是下一代复制控制器。现在 ReplicaSet 和 Replication Controller 之间的唯一区别是选择器支持。ReplicaSet 支持标签用户指南中描述的新的基于集合的选择器要求, 而 Replication Controller 仅支持基于等同的选择器要求。

同样是定义一个 yaml 文件,如下:

[root@master replicas-set]$cat rs_nginx.yml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx
  labels:
    tier: frontend
spec:
  replicas: 3
  selector:
    matchLabels:
      tier: frontend
  template:
    metadata:
      name: nginx
      labels:
        tier: frontend
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

创建 pod:

[root@master replicas-set]$kubectl create -f rs_nginx.yml
replicaset.apps "nginx" created
[root@master replicas-set]$kubectl get pods
NAME          READY     STATUS              RESTARTS   AGE
nginx-4vp95   1/1       Running             0          8s
nginx-9xxp6   0/1       ContainerCreating   0          8s
nginx-f8vfg   1/1       Running             0          8s
[root@master replicas-set]$kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     3         3         1         4s
1
2
3
4
5
6
7
8
9
10

关于扩展等,与上边的一样。

[root@master replicas-set]$kubectl scale rs nginx --replicas=2
replicaset.extensions "nginx" scaled
[root@master replicas-set]$kubectl get pods
NAME          READY     STATUS        RESTARTS   AGE
nginx-4vp95   1/1       Running       0          1m
nginx-9xxp6   0/1       Terminating   0          1m
nginx-f8vfg   1/1       Running       0          1m
[root@master replicas-set]$kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     2         2         2         1m
 
 
[root@master replicas-set]$kubectl scale rs nginx --replicas=5
replicaset.extensions "nginx" scaled
[root@master replicas-set]$kubectl get pods
NAME          READY     STATUS              RESTARTS   AGE
nginx-4vp95   1/1       Running             0          2m
nginx-bbxpk   0/1       ContainerCreating   0          2s
nginx-cg8ts   0/1       ContainerCreating   0          2s
nginx-f8vfg   1/1       Running             0          2m
nginx-sgvpd   0/1       ContainerCreating   0          2s
[root@master replicas-set]$kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     5         5         3         2m
[root@master replicas-set]$kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     5         5         4         2m
[root@master replicas-set]$kubectl get rs
NAME      DESIRED   CURRENT   READY     AGE
nginx     5         5         5         2m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

这个知识点,就到这里,可以根据以上的一些小实践,理解其工作方式!

上次更新: 2024/01/11, 14:21:50

← k8s基本使用入门-了解ReplicationController k8s基本使用入门-了解deployments→

最近更新
01
SpringBoot 快速实现 api 加密!
03-21
02
SpringBoot整合SQLite
03-07
03
SpringBoot配置使用H2数据库的简单教程
02-21
更多文章>
Theme by Vdoing | Copyright © 2017-2024 | 点击查看十年之约 | 豫ICP备2022014539号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式