Kubernetes 如何在部署中引用复制集?
我是kubernetes的新手,正在尝试创建部署。首先,我创建了一个名为rs.yml的复制集,如下所示Kubernetes 如何在部署中引用复制集?,kubernetes,deployment,devops,minikube,Kubernetes,Deployment,Devops,Minikube,我是kubernetes的新手,正在尝试创建部署。首先,我创建了一个名为rs.yml的复制集,如下所示 apiVersion: apps/v1 kind: ReplicaSet metadata: name: web labels: env: dev role: web spec: replicas: 4 selector: matchLabels: role: web tem
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: web
labels:
env: dev
role: web
spec:
replicas: 4
selector:
matchLabels:
role: web
template:
metadata:
labels:
role: web
spec:
containers:
- name: nginx
image: nginx
并使用
kubectl应用-f rs.yml
现在改为在部署中重写所有这些。我只想在我的deployment.yml文件中引用此“rs.yml”文件或服务。您可以创建一个YAMl文件,并在其中添加这两个部署服务
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: web
labels:
env: dev
role: web
spec:
replicas: 4
selector:
matchLabels:
role: web
template:
metadata:
labels:
role: web
spec:
containers:
- name: nginx
image: nginx
---
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
您可以使用--
生成单个YAML文件来划分这些内容
另外,另一个建议是默认情况下不要使用复制集部署在后台创建复制集
您可以使用kind:deployment检查
kubectl get rc
仍然会有副本集。部署在后台创建并管理它。您不需要编写ReplicaSet
和Deployment
,只需将种类更改为Deployment
。应用Deployment
将自动创建ReplicaSet
,并且Pods
仍然可以在部署中引用或使用ReplicaSet。引用由apply和apply创建的文件或复制集对象就可以了。当deployment.yml的大小变得太大时又会怎样呢?您不能从一个YAML引用另一个YAML,因为它不支持导入或包含之类的任何内容。你只需要合并文件。如果您有多个YAML,并且希望以更好的方式和流程管理它,那么可以使用Kustomize<代码>部署.yaml
文件不会以GB或MB为单位变大,因为yaml非常轻量级。只需合并文件,使用kind:deployment
并应用您的pods将启动并运行的文件。要扩展@HarshManvar answer-您可以有多个yaml文件,分别用于部署、服务、配置映射等,并使用kubectl apply-f一次性应用它们。
(请注意结尾处的。)-只需将它们放在一个单独的目录中,将它们与其他清单分开即可。