【Kubernetes】自动创建 Pod 集群
2023-09-27 14:23:50 时间
环境
- kubernetes 1.20.2
- Spring Boot 2.5.0-M1
目标
之前介绍了手动创建多副本的集群,现在将这个过程进行自动化,需要引入 k8s 中的另一个资源对象。
即副本控制器-replicationcontroller,简写 rc,Pod 的简写是 po。
创建 rc
rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: rc-demo
spec:
replicas: 3
selector:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: pod-demo
image: jiangbo920827/spring-demo:actuator
ports:
- containerPort: 8080
template 字段下面的字段,应该很熟悉,就是我们之前学习的 Pod 的相关字段。
前面的三个字段是 k8s 资源的标准声明,和 Pod 一致。
就只有 spec 中的 replicas 和 selector 需要进行说明。
replicas
副本数,相当于服务的个数,相当于之前集群中的机器的数量,这里设定的三个。
selector
标签选择器,其中的冒号相当于之前学习的标签选择器里的相等。
查看状态
查看 Pod
[root@master kubernetes]# kubectl get po
NAME READY STATUS RESTARTS AGE
rc-demo-9hjh6 1/1 Running 0 30s
rc-demo-ddg8d 1/1 Running 0 30s
rc-demo-qxsf4 1/1 Running 0 30s
可以看到根据定义的文档,已准确生成了三个副本。
副本的名称是 rc 的名称加上随机字母和数字。
查看 rc
[root@master kubernetes]# kubectl get rc
NAME DESIRED CURRENT READY AGE
rc-demo 3 3 3 44s
可以看到 rc 记录了我们定义的副本数量,并且启动 Pod 来达到我们定义的数量。
查看 rc 详情
[root@master kubernetes]# kubectl describe -f rc.yaml
Name: rc-demo
Namespace: default
Selector: app=myapp
Labels: app=myapp
Annotations: <none>
Replicas: 3 current / 3 desired
Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
Labels: app=myapp
Containers:
pod-demo:
Image: jiangbo920827/spring-demo:actuator
Port: 8080/TCP
Host Port: 0/TCP
Environment: <none>
Mounts: <none>
Volumes: <none>
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulCreate 13m replication-controller Created pod: rc-demo-qxsf4
Normal SuccessfulCreate 13m replication-controller Created pod: rc-demo-ddg8d
Normal SuccessfulCreate 13m replication-controller Created pod: rc-demo-9hjh6
总结
介绍了自动创建 Pod 集群,使用的是 k8s 的 rc,即副本控制器。正如其名,可以准确控制生成的副本数量。
附录
相关文章
- Kubernetes — 从0到1:搭建一个完整的Kubernetes集群
- Kubernetes集群使用 ingress 配置 https (阿里云DV证书),访问wordpress
- Kuboard Spray图形化安装kubernetes集群踩坑记录
- 使用开源工具 k8tz 优雅设置 Kubernetes Pod 时区
- kubespray v2.21.0 部署 kubernetes v1.24.0 集群
- Kubernetes Deployment【2】原理深入详解
- Kubernetes 了解声明式 API
- Kubernetes CKS 2021【3】---Cluster Setup - Dashboard
- kubernetes 【CNI插件】Calico使用详解
- kubernetes secret使用详解
- Kubernetes: operation
- 记一次kubernetes配置secret拉取私仓镜像错误
- 如何用 Kubernetes 自定义资源?
- 快给你的Kubernetes集群建一个只读账户(防止高管。。。后)
- Kubernetes master无法加入etcd 集群解决方法
- 【DockerCon2017最新技术解读】如何在阿里云一键部署高可用的Kubernetes集群
- Kubernetes---存储--Volume
- kubernetes集群节点多网卡,calico指定网卡
- 快速部署Kubernetes监控系统Kube-Prometheus
- 二、kubernetes搭建集群
- Kubernetes V1.15 二进制部署集群
- kubernetes集群架构和组件
- 《云原生-Kubernetes篇》深入剖析Kubernetes中pod的原理
- 大型企业项目中 Kubernetes (k8s)集群自动扩容/缩容方案和实践
- 使用 Kubernetes(k8s)集群快速部署自己的应用,随意的进行扩容或收缩副本数量
- Kubernetes集群使用网络存储NFS
- Kubernetes 多集群管理工具Rancher 使用介绍
- kubernetes深入理解Pod对象:基本管理
- kubernetes集群问题排查