k8s高级_调度器Deployment

一: 简介

为啥需要deployment:

  • 目的是让Kubernetes去管理一组无状态Pod的副本,也就是副本集 , 这样就能够保证一定数量的副本一直可用 , 不会因为某一个Pod挂掉导致整个服务挂掉。避免单点故障和支撑更高的访问量

概念:

  • Deployment是一个定义及管理多副本应用(即多个副本 Pod)的新一代对象,与Replication Controller相比,它提供了更加完善的功能,使用起来更加简单方便

二: 示例

1.0 定义deployment

  • 准备工作目录
bash 复制代码
 mkdir 11deployment ;  cd 11deployment
  • 定义deployment
bash 复制代码
 vim  deployment.yaml
 
 
apiVersion: apps/v1
kind: Deployment    
metadata:
 name: nginx-deployment
spec:
 selector:           #选择器匹配要管理的Pod
   matchLabels:      
     app: nginx    
     
 replicas: 2         #Pod 副本数如果 Pod 少于 2 个(比如一个挂了),会自动创建新的补足;如果多于 2 个,会终止多余的。
 template:           #POD模板。以前定义Pod配置
   metadata:
     labels:
       app: nginx
   spec:
     containers:     #容器配置
     - name: nginx
       image: nginx
       ports:
       - containerPort: 80

2.0 创建deployment

  • 创建deployment
bash 复制代码
[root@k8s-master 11deployment]#  kubectl apply -f deployment.yaml
deployment.apps/nginx-deployment created
[root@k8s-master 11deployment]# 

3.0 查看

  • 查看deployment
bash 复制代码
[root@k8s-master 11deployment]# kubectl get deployments
NAME               READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deployment   2/2     2            2           13s
[root@k8s-master 11deployment]# 
  • 查看pod
bash 复制代码
[root@k8s-master 11deployment]# kubectl get pods -l app=nginx
NAME                                READY   STATUS    RESTARTS   AGE
nginx-deployment-7848d4b86f-j2867   1/1     Running   0          31s
nginx-deployment-7848d4b86f-r8rww   1/1     Running   0          31s
[root@k8s-master 11deployment]# 

4.0 删除

bash 复制代码
[root@k8s-master 11deployment]# kubectl delete -f deployment.yaml 
deployment.apps "nginx-deployment" deleted
[root@k8s-master 11deployment]# kubectl get deployments
No resources found in default namespace.
[root@k8s-master 11deployment]# 
相关推荐
CHEEVEN_QY9 小时前
搅拌摩擦焊FSW工艺参数对焊缝成形影响的实验研究10.1
linux·服务器·数据库
帷幕落秋10 小时前
Redis哨兵模式
运维·数据库
H.莓飛10 小时前
【数据结构】链表_OJ题
linux·数据结构·算法·链表
木白CPP10 小时前
USB(一): USB 概述&&介绍
linux·网络·嵌入式硬件
熬夜敲代码的猫10 小时前
Linux:进程概念
linux
刘胡子大叔10 小时前
1Panel 部署 ThinkPHP8 踩坑实录
linux·ubuntu
anew___10 小时前
《从零手写操作系统 (21):用户态C运行时——从裸ELF到printf》
linux·服务器·c语言
吴声子夜歌11 小时前
Nginx应用与运维——Nginx编译及部署(部署)
java·运维·nginx
帷幕落秋11 小时前
Redis主从复制
运维·数据库
帷幕落秋11 小时前
Mysql主从复制
运维·数据库