Kubernetes (一)Pod
程序员文章站
2024-03-11 10:06:01
...
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-nginx
namespace: default
spec:
replicas: 2
selector:
matchLabels:
app: deloyment-nginx
release: canary
strategy:
rollingUpdate:
maxSurge: 2
maxUnavailable: 2
template:
metadata:
labels:
app: deloyment-nginx
release: canary
spec:
shareProcessNamespace: true
containers:
- name: ngin1
image: nginx
lifecycle:
postStart:
exec:
command: ["/bin/sh","-c","echo welecome_nginx1 >/usr/share/nginx/html/index.html "]
- name: shell
image: busybox
tty: true
stdin: tru
简单点,就是pods看做一个虚拟机,pods内的所有container看做部署在虚拟机上进程,
pods的组成基于共享一个infra基础容器的名称空间的基础上,共享同一个Network Namespace,同时可以声明共享同一个Volume。这就是pods优先于但容器管理的优势,在docker中
可以使用docker run --net=B --volume-from=B --name=A ,但是B要优先于A启动,才会有A,
而在kubenetes中,因为有了pods的概念,有了infra的基础容器的优先启动,所以优于但容器的管理。
在pods中,一般按照“超亲密关系”的方式去设计容器:比如tomact和war包 (用到initContainer),日志的采集,以及上面yaml资源中的nginx1和shell两个container共享同一个ProcessNamespace:
shareProcessNamespace: true
containers:
- name: ngin1
image: nginx
lifecycle:
postStart:
exec:
command: ["/bin/sh","-c","echo welecome_nginx1 >/usr/share/nginx/html/index.html "]
- name: shell
image: busybox
tty: true
stdin: tru
上一篇: ROS中python3.6环境的创建
下一篇: Anaconda3配置python2环境
推荐阅读
-
Kubernetes (一)Pod
-
Kubernetes删除一直Terminating状态的namespace
-
Kubernetes强制删除一直处于Terminating状态的pod,namespace
-
Kubernetes Pod详解
-
K8S创建POD提示ImagePullBackOff错误解决
-
k8s的pod出现ImagePullBackOff(解决拉去私有镜像的权限问题)
-
Kubernetes:强制删除一直处于Terminating状态的pod,deployment,namespace,server
-
kubernetest pod为ContainerCreating、ImagePullBackOff状态 怎么办
-
05.17leetcode每日一题-- 210.课程表II
-
[k8s]简单启动一个k8s集群