k8s常用配置详解

Pod案例

apiVersion: v1  ##api使用版本
kind: Pod    ##资源类型为Pod
metadata:    
  name: tomcat-nginx  ## 资源名称
spec: 
  containers:   ## 容器的定义
  - name: nginx  ##容器名称
    image: nginx  ## 容器镜像
  - name: tomcat 
    image: tomcat 

ReplicaSet案例

apiVersion: apps/v1
kind: ReplicaSet    ##资源类型为ReplicaSet--属于资源控制器定义
metadata:
  name: nginx-rs
spec:
  replicas: 2  ## 资源控制器控制的pod副本数
  selector:
    matchLabels:
      app: nginx   ##资源控制器匹配标签
  template:   ## 被控制资源定义部分
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx

Deployment案例

apiVersion: apps/v1
kind: Deployment  ##资源类型
metadata:
  name: tomcat-deployment  ## 资源名称
spec:    ##Deployment控制器的一些定义
  selector:  ## Deployment控制器选择器定义
    matchLabels:  
      app: tomcat
  replicas: 2  ## 被控制对象的pod副本数
  template:   ## 被控制对象的定义
    metadata:  ##被控制对象的元数据
      labels:
         app: tomcat  ## 被控制对象的标签
    spec:
      containers:  
      - name: tomcat
        image: tomcat
        ports:
        - containerPort: 8080
Deployment 是一种控制器资源类型
1.template以上部分为控制器定义
2.template以下部分为被控制对象,被控制的对象可以是pod,甚至是控制器

总结

1.pod定义是k8s最小控制,里面可以有多个容器的定义
2.ReplicaSet和Deployment都是一种控制器,通过定义模板控制pod的生命周期
3.Deployment是高级的控制器,通过控制ReplicaSet实现滚动更新

你可能感兴趣的:(kubernetes,tomcat,kubernetes,java)