当前位置: 首页 > news >正文

搭建国外网站的步骤什么是自适应网站

搭建国外网站的步骤,什么是自适应网站,免费制作微信公众号,网络营销课程总结1000字Kubernetes通过各种Controller来管理Pod的生命周期 。 为了满足不同业 务 景 #xff0c; Kubernetes 开发了Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job等多种Controller。我们⾸先学习最常用Deployment。 1.1 Kubectl命令直接创建 第一种是通过kubectl命令直接…Kubernetes通过各种Controller来管理Pod的生命周期 。 为了满足不同业 务 景 Kubernetes 开发了Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job等多种Controller。我们⾸先学习最常用Deployment。 1.1 Kubectl命令直接创建 第一种是通过kubectl命令直接创建 kubectl run nginx-deployment --imagenginx:1.7.9 --replicas2在最新的 Kubernetes 版本中kubectl create deployment 命令不再直接支持 --replicas 参数。副本数的指定现在通常是通过 kubectl scale 命令来完成。 kubectl create deployment nginx-deployment --imagenginx:1.7.9 #使用 kubectl scale 命令设置副本数 kubectl scale deployment nginx-deployment --replicas2这样我们就部署了一个具有2个副本的nginx-deployment 。 1.2 YAML配置文件创建 第二种是通过配置文件kubectl apply(kubectl create也可以)创建 vi nginx.yml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deployment spec:replicas: 2selector:matchLabels:app: web_servertemplate:metadata:labels:app: web_serverspec:containers:- name: nginximage: nginx:1.7.9kubectl apply -f nginx.yml [rootk8s-master kubernetes]# kubectl get deployment NAME READY UP-TO-DATE AVAILABLE AGE busybox 2/2 2 2 32m nginx-deployment 2/2 2 2 6m7s1.3 删除deployment kubectl delete deployment nginx-deployment执行之后K8S会自动帮我们删除相关Deployment、ReplicaSet副本集以及Pod。 1.4 Deployment配置⽂件简介 既然 用YAML配置文件 署应用 现在就很有必要了解⼀下Deployment的配置格式了其他Controller比如DaemonSet非常类似。 vi nginx-deployment.yml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deployment spec:replicas: 2selector:matchLabels:app: web_servertemplate:metadata:labels:app: web_serverspec:containers:- name: nginximage: nginx:1.7.9这是一个Kubernetes Deployment的YAML文件用于定义一个NGINX容器的部署。以下是每一行的解释 apiVersion: apps/v1: 指定使用的 Kubernetes API 版本这里是 Apps API 的版本。 kind: Deployment: 定义资源对象的类型这是一个 Deployment 对象用于在集群中管理 Pod 的部署。 metadata: 定义 Deployment 元数据包括资源的名称。 name: nginx-deployment: 指定 Deployment 的名称为 “nginx-deployment”。 spec: 定义 Deployment 的规范包括副本数、选择器和模板。 replicas: 2: 指定要创建的 Pod 副本数为 2表示要在集群中运行两个相同的 NGINX Pod。 selector: 定义标签选择器用于选择属于该 Deployment 的 Pod。 matchLabels: 指定 Pod 必须具有哪些标签以匹配该 Deployment 的选择器。 app: web_server: 指定标签 “app” 的值必须为 “web_server”用于匹配 Pod。 template: 定义要创建的 Pod 的模板。 metadata: 定义 Pod 模板的元数据包括标签。 labels: 指定 Pod 的标签这里设置 “app” 标签的值为 “web_server”。 spec: 定义 Pod 的规范包括容器。 containers: 定义 Pod 中运行的容器的列表。 - name: nginx: 定义容器的名称为 “nginx”。 image: nginx:1.7.9: 指定要使用的 NGINX 镜像及其版本。 因此这个 YAML 文件描述了一个名为 “nginx-deployment” 的 Deployment该 Deployment 负责管理两个运行 NGINX 容器的 Pod并且这些 Pod 必须具有标签 “app: web_server”。容器使用 NGINX 1.7.9 版本的镜像。 1.5伸缩 伸缩是指在线增加或减少Pod的副本数。Deployment nginx-deployment初始是两个副本。 [rootk8s-master kubernetes]# kubectl get deployment nginx-deployment NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 2/2 2 2 21s 现在修改nginx.yml⽂件将副本改成5个 spec: replicas: 5 执行kubectl apply -f nginx-deployment.yml [rootk8s-master kubernetes]# kubectl get deployment nginx-deployment NAME READY UP-TO-DATE AVAILABLE AGE nginx-deployment 5/5 5 5 114s1.6 Failover 下⾯我们模拟k8s-node2故障关闭该节点编辑yml文件恢复到3个节点。 [rootk8s-node2 ~]# halt -h[rootk8s-master kubernetes]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready master 57m v1.18.0 k8s-node1 Ready none 56m v1.18.0 k8s-node2 NotReady none 56m v1.18.查看pod(可能需要等待一会) [rootk8s-master kubernetes]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deployment-79c457c54b-js27q 1/1 Terminating 1 17m 10.244.2.10 k8s-node2 none none nginx-deployment-79c457c54b-r297k 1/1 Running 0 3m2s 10.244.1.11 k8s-node1 none none nginx-deployment-79c457c54b-vvvhr 1/1 Terminating 1 15m 10.244.2.9 k8s-node2 none none nginx-deployment-79c457c54b-whsp8 1/1 Running 0 17m 10.244.1.6 k8s-node1 none none nginx-deployment-79c457c54b-z5n54 1/1 Running 0 3m2s 10.244.1.12 k8s-node1 none none k8s-node2上的Pod最终标记为Terminating状态并在k8s-node1上新建两个Pod维持副本总数量为3。 当k8s-node2恢复后Terminating的Pod会自动被删除不过已经运行在k8s-node1的Pod是不会重新调度回k8s-node2的。 1.7用label控制Pod位置 默认情况下K8S的Scheduler会均衡调度Pod到所有可用的Node节点但是有些时候希望将指定的Pod部署到指定的Node节点。例如一个I/O密集型的Pod可以尽量部署在配置了SSD的Node节点又或者一个需要GPU的Pod可以尽量部署在配置了GPU的Node节点上。 不用担心K8S为我们提供了label来实现这个功能label是一个key/value对可以灵活设置各种自定义的属性。比如我们这里假设我们的k8s-demo示例项目是一个I/O密集型的API还假设k8s-node1是一个配置了SSD的Node节点    kubectl label node k8s-node1 disktypessd kubectl get node --show-labelstrue 修改yml文件 apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deployment spec:replicas: 2selector:matchLabels:app: web_servertemplate:metadata:labels:app: web_serverspec:containers:- name: nginximage: nginx:1.7.9nodeSelector:disktype: ssd然后再次apply创建资源 kubectl apply -f nginx-deployment.yml 验证一下所有的k8s-demo的Pod全都调度到了k8s-node1上面符合预期 [rootk8s-master kubernetes]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-deployment-744c4bcdf6-4bzgh 1/1 Running 0 37s 10.244.1.13 k8s-node1 none none nginx-deployment-744c4bcdf6-b5t2f 1/1 Running 0 36s 10.244.1.14 k8s-node1 none none nginx-deployment-744c4bcdf6-ch65k 1/1 Running 0 35s 10.244.1.15 k8s-node1 none none
http://www.w-s-a.com/news/620892/

相关文章:

  • 哈尔滨营销网站建设电子商城网站开发要多少钱
  • 免费织梦导航网站模板下载地址自己建站网站
  • 获取网站访客qq号码代码做抽奖网站违法吗
  • 湖南大型网站建设公司排名偷网站源码直接建站
  • 网站建设周期规划北京网站设计必看刻
  • 如何做自己的在线作品网站深圳网站设计公司的
  • 网站开发外包公司wordpress最简单模板
  • 湖南省建设人力资源网站wordpress主机pfthost
  • 淮安软件园哪家做网站各网站特点
  • 网站长尾关键词排名软件重庆荣昌网站建设
  • 建个商城网站多少钱茂名专业网站建设
  • 开通公司网站免费的网站app下载
  • 跨境电商网站模板wordpress壁纸
  • 国内做网站网站代理电子商务网站建设与维护概述
  • 如何做地方网站推广沈阳网势科技有限公司
  • 哈尔滨网站优化技术涵江网站建设
  • 做网站搞笑口号wordpress全屏动画
  • 怎么可以建网站小程序代理项目
  • 怎样做软件网站哪个网站用帝国cms做的
  • 网站开发编程的工作方法wordpress dux-plus
  • 廊坊电子商务网站建设公司网站进不去qq空间
  • 南宁网站推广费用创意网页设计素材模板
  • 深圳技术支持 骏域网站建设wordpress 酒主题
  • 东莞网站建设+旅游网站改版数据来源表改怎么做
  • 手机端做的优秀的网站设计企业做网站大概多少钱
  • 优化网站使用体验手机网站解析域名
  • 网站制作 商务做网站的软件名字全拼
  • 阿里巴巴网官方网站温州网站建设设计
  • 传奇购买域名做网站国外网站设计 网址
  • 西安凤城二路网站建设seo网站是什么