![](/img/trans.png)
[英]How to Configure Pod initialization in a specific order in Kubernetes?
[英]How to configure a Kubernetes Multi-Pod Deployment
我想通過k8s Deployment對象管理我的部署來部署應用程序集群。 文檔讓我非常困惑。 我的基本布局具有以下可獨立擴展的組件:
從技術上講,以上所有4個屬於獨立縮放的獨立窗格。
我的問題是:
pod.yml
文件,然后在deployment.yml
文件中以某種方式引用它們,或者部署文件是否也可以嵌入pod定義? Deployment
的spec
部分等同於定義一個 pod。 那是對的嗎? 如果我想以聲明方式描述多pod部署,該怎么辦? 我是否需要多個deployment.yml文件? Pagids答案有大部分基礎知識。 您應該為您的方案創建4個Deployments
。 每個部署都將創建一個ReplicaSet
,用於調度和監督Deployment
的PODs
集合。
每個Deployment
很可能還需要在其前面提供Service
才能進行訪問。 我通常創建一個單獨的yaml文件,其中包含Deployment
和相應的Service
。 這是我使用的nginx.yaml
的示例:
apiVersion: v1
kind: Service
metadata:
annotations:
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
name: nginx
labels:
app: nginx
spec:
type: NodePort
ports:
- port: 80
name: nginx
targetPort: 80
nodePort: 32756
selector:
app: nginx
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginxdeployment
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginxcontainer
image: nginx:latest
imagePullPolicy: Always
ports:
- containerPort: 80
這里有一些額外的信息需要澄清:
POD
不是可擴展的單元。 安排POD的Deployment
是。 Deployment
旨在代表一組完成單一目的的POD。 Deployments
協同工作。 PODs
的Deployment
,您必須創建服務。 StatefulSet
(例如,用於數據庫服務)。 您可以使用Kubernetes API參考進行部署 ,您會發現spec
- > template
字段的類型為PodTemplateSpec
以及相關注釋( Template描述將要創建的pod。 )它會回答您的問題。 當然可以在部署用戶指南中找到更長的描述。
回答你的問題......
1) Pods
由Deployment
管理,並且單獨定義它們沒有意義,因為它們是由部署按需創建的。 請記住,可能有更多相同pod類型的副本。
2)對於列表中的每個應用程序,您必須定義一個Deployment
- 在差異副本計數和應用程序部署時也是有意義的。
3) 您沒有詢問但是它是相關的 - 除了單獨的Deployments
,您的每個應用程序還需要一個專用Service
以便其他人可以訪問它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.