Lak*_*kar 1 google-cloud-platform kubernetes google-kubernetes-engine
假设我有两个多容器Pod和将Pod暴露给集群的服务。我还具有用于随时维护Pod数量的Replication控制器。
上面的群集是一个简单的示例。在这一点上,我有两个Pod文件,两个服务文件和两个RC文件。这使文件管理变得困难。
我知道所有文件都可以放在一个目录中,并使用kubectl create -f目录在单个命令中执行整个操作。但是,我觉得文件管理是一项开销。是否有类似docker-compose.yml的文件,我们可以在其中将所有Pod包含在一个文件中。
我想知道在生产中使用kubernetes的最佳实践。在生产环境中更改许多文件似乎不是一个好主意。
您可以在这些示例中使用三点划线或列表资源:
例子:
清单
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
name: list-service-test
spec:
ports:
- protocol: TCP
port: 80
selector:
app: list-deployment-test
- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: list-deployment-test
labels:
app: list-deployment-test
spec:
replicas: 1
template:
metadata:
labels:
app: list-deployment-test
spec:
containers:
- name: nginx
image: nginx
Run Code Online (Sandbox Code Playgroud)
三重破折号:
---
apiVersion: v1
kind: Pod
metadata:
labels:
name: redis
redis-sentinel: "true"
role: master
name: redis-master
spec:
containers:
- name: master
image: kubernetes/redis:v1
env:
- name: MASTER
value: "true"
ports:
- containerPort: 6379
resources:
limits:
cpu: "0.5"
volumeMounts:
- mountPath: /redis-master-data
name: data
- name: sentinel
image: kubernetes/redis:v1
env:
- name: SENTINEL
value: "true"
ports:
- containerPort: 26379
volumes:
- name: data
emptyDir: {}
---
apiVersion: v1
kind: Pod
metadata:
labels:
name: redis-proxy
role: proxy
name: redis-proxy
spec:
containers:
- name: proxy
image: kubernetes/redis-proxy:v1
ports:
- containerPort: 6379
name: api
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
301 次 |
最近记录: |