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

网站开发与软件销售手机网站建设技术方案书

网站开发与软件销售,手机网站建设技术方案书,网站的pdf预览是怎么做的,影楼做网站Label Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识#xff0c;用来对它们进行区分和选择。 Label的特点#xff1a; 一个Label会以key/value键值对的形式附加到各种对象上#xff0c;如Node、Pod、Service等等一个资源对象可以定义任意数量的L…Label Label是kubernetes系统中的一个重要概念。它的作用就是在资源上添加标识用来对它们进行区分和选择。 Label的特点 一个Label会以key/value键值对的形式附加到各种对象上如Node、Pod、Service等等一个资源对象可以定义任意数量的Label 同一个Label也可以被添加到任意数量的资源对象上去Label通常在资源对象定义时确定当然也可以在对象创建后动态添加或者删除 可以通过Label实现资源的多维度分组以便灵活、方便地进行资源分配、调度、配置、部署等管理工作。 一些常用的Label 示例如下 版本标签“version”:“release”, “version”:“stable”…环境标签“environment”:“dev”“environment”:“test”“environment”:“pro”架构标签“tier”:“frontend”“tier”:“backend” 标签定义完毕之后还要考虑到标签的选择这就要使用到Label Selector即 ​ Label用于给某个资源对象定义标识 ​ Label Selector用于查询和筛选拥有某些标签的资源对象 当前有两种Label Selector 基于等式的Label Selector name slave: 选择所有包含Label中keyname且valueslave的对象 env ! production: 选择所有包括Label中的keyenv且value不等于production的对象 基于集合的Label Selector name in (master, slave): 选择所有包含Label中的keyname且valuemaster或slave的对象 name not in (frontend): 选择所有包含Label中的keyname且value不等于frontend的对象 标签的选择条件可以使用多个此时将多个Label Selector进行组合使用逗号,进行分隔即可。例如 ​ nameslaveenv!production ​ name not in (frontend)env!production 命令方式 # 为pod资源打标签 [rootmaster ~]# kubectl label pod nginx-pod version1.0 -n dev pod/nginx-pod labeled# 为pod资源更新标签 [rootmaster ~]# kubectl label pod nginx-pod version2.0 -n dev --overwrite pod/nginx-pod labeled# 查看标签 [rootmaster ~]# kubectl get pod nginx-pod -n dev --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-pod 1/1 Running 0 10m version2.0# 筛选标签 [rootmaster ~]# kubectl get pod -n dev -l version2.0 --show-labels NAME READY STATUS RESTARTS AGE LABELS nginx-pod 1/1 Running 0 17m version2.0 [rootmaster ~]# kubectl get pod -n dev -l version!2.0 --show-labels No resources found in dev namespace.#删除标签 [rootmaster ~]# kubectl label pod nginx-pod version- -n dev pod/nginx-pod labeled配置方式 apiVersion: v1 kind: Pod metadata:name: nginxnamespace: devlabels:version: 3.0 env: test spec:containers:- image: nginx:1.17.1name: podports:- name: nginx-portcontainerPort: 80protocol: TCP然后就可以执行对应的更新命令了kubectl apply -f pod-nginx.yaml Deployment ​ 在kubernetes中Pod是最小的控制单元但是kubernetes很少直接控制Pod一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理确保pod资源符合预期的状态当pod的资源出现故障时会尝试进行重启或重建pod。 ​ 在kubernetes中Pod控制器的种类有很多本章节只介绍一种Deployment。 命令操作 # 命令格式: kubectl run deployment名称 [参数] # --image 指定pod的镜像 # --port 指定端口 # --replicas 指定创建pod数量 # --namespace 指定namespace [rootmaster ~]# kubectl run nginx --imagenginx:1.17.1 --port80 --replicas3 -n dev deployment.apps/nginx created# 查看创建的Pod [rootmaster ~]# kubectl get deploy,pods -n dev NAME READY STATUS RESTARTS AGE nginx-5ff7956ff6-6k8cb 1/1 Running 0 19s nginx-5ff7956ff6-jxfjt 1/1 Running 0 19s nginx-5ff7956ff6-v6jqw 1/1 Running 0 19s# 查看deployment的信息 [rootmaster ~]# kubectl get deploy -n dev NAME READY UP-TO-DATE AVAILABLE AGE nginx 3/3 3 3 2m42s# UP-TO-DATE成功升级的副本数量 # AVAILABLE可用副本的数量 [rootmaster ~]# kubectl get deploy -n dev -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR nginx 3/3 3 3 2m51s nginx nginx:1.17.1 runnginx# 查看deployment的详细信息 [rootmaster ~]# kubectl describe deploy nginx -n dev Name: nginx Namespace: dev CreationTimestamp: Wed, 08 Apr 2020 11:14:14 0800 Labels: runnginx Annotations: deployment.kubernetes.io/revision: 1 Selector: runnginx Replicas: 3 desired | 3 updated | 3 total | 3 available | 0 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 25% max unavailable, 25% max surge Pod Template:Labels: runnginxContainers:nginx:Image: nginx:1.17.1Port: 80/TCPHost Port: 0/TCPEnvironment: noneMounts: noneVolumes: none Conditions:Type Status Reason---- ------ ------Available True MinimumReplicasAvailableProgressing True NewReplicaSetAvailable OldReplicaSets: none NewReplicaSet: nginx-5ff7956ff6 (3/3 replicas created) Events:Type Reason Age From Message---- ------ ---- ---- -------Normal ScalingReplicaSet 5m43s deployment-controller Scaled up replicaset nginx-5ff7956ff6 to 3[rootmaster ~]# kubectl get pods -n dev --show-labelsnginx -n dev# 删除 [rootmaster ~]# kubectl delete deploy nginx -n dev deployment.apps nginx deleted配置操作 创建一个deploy-nginx.yaml内容如下 apiVersion: apps/v1 kind: Deployment metadata:name: nginxnamespace: dev spec:replicas: 3selector:matchLabels:run: nginxtemplate:metadata:labels:run: nginxspec:containers:- image: nginx:1.17.1name: nginxports:- containerPort: 80protocol: TCP然后就可以执行对应的创建和删除命令了 ​ 创建kubectl create -f deploy-nginx.yaml ​ 删除kubectl delete -f deploy-nginx.yaml Service 通过上节课的学习已经能够利用Deployment来创建一组Pod来提供具有高可用性的服务。 虽然每个Pod都会分配一个单独的Pod IP然而却存在如下两问题 Pod IP 会随着Pod的重建产生变化Pod IP 仅仅是集群内可见的虚拟IP外部无法访问 这样对于访问这个服务带来了难度。因此kubernetes设计了Service来解决这个问题。 Service可以看作是一组同类Pod对外的访问接口。借助Service应用可以方便地实现服务发现和负载均衡。 操作一创建集群内部可访问的Service # 暴露Service [rootmaster ~]# kubectl expose deploy nginx --namesvc-nginx1 --typeClusterIP --port80 --target-port80 -n dev service/svc-nginx1 exposed# 查看service [rootmaster ~]# kubectl get svc svc-nginx1 -n dev -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR svc-nginx1 ClusterIP 10.109.179.231 none 80/TCP 3m51s runnginx# 这里产生了一个CLUSTER-IP这就是service的IP在Service的生命周期中这个地址是不会变动的 # 可以通过这个IP访问当前service对应的POD [rootmaster ~]# curl 10.109.179.231:80 !DOCTYPE html html head titleWelcome to nginx!/title /head body h1Welcome to nginx!/h1 ....... /body /html操作二创建集群外部也可访问的Service # 上面创建的Service的type类型为ClusterIP这个ip地址只用集群内部可访问 # 如果需要创建外部也可以访问的Service需要修改type为NodePort [rootmaster ~]# kubectl expose deploy nginx --namesvc-nginx2 --typeNodePort --port80 --target-port80 -n dev service/svc-nginx2 exposed# 此时查看会发现出现了NodePort类型的Service而且有一对Port80:31928/TC [rootmaster ~]# kubectl get svc svc-nginx-1 -n dev -o wide NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR svc-nginx2 NodePort 10.100.94.0 none 80:31928/TCP 9s runnginx# 接下来就可以通过集群外的主机访问 节点IP:31928访问服务了 # 例如在的电脑主机上通过浏览器访问下面的地址 http://192.168.109.100:31928/删除Service [rootmaster ~]# kubectl delete svc svc-nginx-1 -n dev service svc-nginx-1 deleted配置方式 创建一个svc-nginx.yaml内容如下 apiVersion: v1 kind: Service metadata:name: svc-nginxnamespace: dev spec:clusterIP: 10.109.179.231ports:- port: 80protocol: TCPtargetPort: 80selector:run: nginxtype: ClusterIP然后就可以执行对应的创建和删除命令了 ​ 创建kubectl create -f svc-nginx.yaml ​ 删除kubectl delete -f svc-nginx.yaml 小结 ​ 至此已经掌握了Namespace、Pod、Deployment、Service资源的基本操作有了这些操作就可以在kubernetes集群中实现一个服务的简单部署和访问了但是如果想要更好的使用kubernetes就需要深入学习这几种资源的细节和原理。
http://www.w-s-a.com/news/800204/

相关文章:

  • 太原建设银行网站中山营销型网站设计
  • 广东省建设厅官方网站多少钱江苏省江建集团有限公司建设网站
  • 网站开发主流服装网站开发课程设计
  • 在iis里面创建网站wordpress响应式视频
  • 学设计哪个网站好网页设计音乐网站
  • 可以自己做斗图的网站上海模板建站多少钱
  • 山东川畅信息技术有限公司网站建设网站开发任务书
  • 网站排版设计欣赏搭建公司介绍网站
  • 网站弹窗是怎么做的长沙智优营家
  • 手机网站菜单设计模板菜单网站图片素材
  • 浙江网站推广爱企查企业查询入口
  • 公司网站平台vs2012网站开发课程设计
  • 哪些方法可以建设网站做网站失败
  • 龙岗网站建设技术wordpress左右两栏
  • 电子商务网站开发与应用的介绍怎么查询域名是否备案
  • 想做一个自己设计公司的网站怎么做的权威发布型舆情回应
  • 做ppt用的音效网站python基础教程网易
  • 可以做免费广告的网站有哪些做视频赚钱的国外网站
  • 苏州做物流网站电话郑州网站高端网站设计
  • 网站建设音乐插件怎么弄wordpress添加数据库文件
  • 汽车行业做网站福建省第二电力建设公司网站
  • delphi做网站开发商城网站建设价位
  • 网站宣传片3 阐述网站建设的步骤过程 9分
  • 公司网站怎么做站外链接哪里有做胎儿dna亲子鉴定
  • 潍坊做电商的网站建设wordpress 特效主题
  • 做网站和app哪个难公司网上注册系统
  • 关于网站建设外文文献系部网站建设
  • 高端设计网站都有哪些月付网站空间提供商
  • 家政 东莞网站建设优化设计官方电子版
  • 做网站如何使用网页插件上海造价信息网