扩展 Kubernetes 集群

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

Kubernetes 集群复制控制器内 Pod 的自动重启 展示了如果一个或多个现有 Pod 由于某种原因消失,Kubernetes 如何重新安排集群中的 Pod。这是一种常见的使用模式,也是 Kubernetes 的关键特性之一。

Replication Controller 的另一种常见使用模式是缩放:

通过简单地更新 replicas 字段,复制控制器可以轻松地手动或通过自动缩放控制代理来增加或减少副本的数量。

这篇博客将展示如何轻松地扩展和缩减 Kubernetes 集群。

本博客中使用的所有代码都可以在 kubernetes-java-sample 中找到。

启动 Replication Controller 并验证

  1. 启动一个 Replication Controller 作为:

  2. 
     ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
    
  3. 获取 Pod 的状态:

  4. 
     ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
    

    确保等待状态更改为正在运行。记下 Pod 的名称为 wildfly-rc-bgtkg” 和 wildfly-rc-bgtkg”。

  5. 获取复制控制器的状态:
  6. 
     ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
    

    如果多个 Replication Controllers 正在运行,那么您可以使用标签查询这个特定的控制器:

    
     ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
    

扩展 Kubernetes 集群

Replication Controller 允许动态扩展和缩小 Pod。

  1. 增加 Pod 的数量:
  2. 
     ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
    
  3. 可以在另一个 shell 中看到 Pod 的状态:

  4. 
     ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
    

    请注意,已创建一个名为 wildfly-rc-aqaqn 的新 Pod。

缩减 Kubernetes 集群

  1. 缩减 Pod 的数量:
  2. 
     ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
    
  3. 使用 -w 的 Pod 状态未正确更新 ( #11338 )。但是可以正确地将 Pod 的状态视为:
  4. 
     ./cluster/kubectl.sh create -f ~/workspaces/kubernetes-java-sample/wildfly-rc.yaml 
    replicationcontrollers/wildfly-rc
    

    请注意,现在只有一个 Pod 正在运行。

Kubernetes 使用 scale --replicas 命令动态扩展和缩减 Pod。

本博客中使用的所有代码都可以在 kubernetes-java-sample 中找到。

相关文章