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

手机版网站案例关键词搜索

手机版网站案例,关键词搜索,南京网站建设小程序,网站开发框架具体是什么陈述式 一、 理论部分1.1 管理K8s资源的基本方法1.1.1 陈述式资源管理方式1.1.2声明式资源管理方式1.1.3 GUI式资源管理方法 1.2 陈述式资源管理方式1.2.1 Kubelet工具简介1.2.2 kubectl 的基本语法1.2.3 Kubectl工具的自动补全功能 1.3 Kubernetes Service1.4 Service 的类型(… 陈述式 一、 理论部分1.1 管理K8s资源的基本方法1.1.1 陈述式资源管理方式1.1.2声明式资源管理方式1.1.3 GUI式资源管理方法 1.2 陈述式资源管理方式1.2.1 Kubelet工具简介1.2.2 kubectl 的基本语法1.2.3 Kubectl工具的自动补全功能 1.3 Kubernetes Service1.4 Service 的类型(记下来)1ClusterIP2NodePort3LoadBalancer4ExternalName 1.5 Service的端点类型1Port2 NodePort3TargetPort4ContainerPort 1.6 补充知识各种IP 二、通过陈述式资源管理方式管理资源2.1 创建2.1.1 create子命令2.1.2 run子命令 2.2查看基本信息-----get子命令2.2.1 Kubernetes 集群组件的状态2.2.2 命名空间2.2.3 Service服务2.2.4 pod信息2.2.5 Node节点列表 2.3 查看资源详细信息-----describe2.4 查看日志----- logs2.5 删除指定的资源-----delete2.6 跨主机登录容器-----exec2.7 replicas(副本数) -----scale 三、结合项目的生命周期说明3.1 创建-----kubectl create命令3.2 发布-----kubectl expose命令3.3 更新 ----- kubectl set命令3.3.1 举个例子3.3.2 滚动更新 3.4 回滚 ----- kubectl rollout 命令 四、发布策略4.1 蓝绿发布4.2 红黑发布4.3 灰度发布金丝雀发布4.3.1 简介4.3.2 实例 4.4 滚动发布 小结 一、 理论部分 1.1 管理K8s资源的基本方法 1.1.1 陈述式资源管理方式 主要依赖命令行工具kubectl进行管理可以理解为使用一条命令和参数选项实现资源的管理操作。 1.1.2声明式资源管理方式 主要依赖统一资源配置清单进行管理可以理解为使用yaml配置文件的定义来实现资源的管理操作。 1.1.3 GUI式资源管理方法 主要依赖图形化操作界面进行管理。 1.2 陈述式资源管理方式 K8s中文文档 Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区 1.2.1 Kubelet工具简介 Kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口。 Kubectl 是官方的CLI命令行工具用于与 apiserver 进行通信将用户在命令行输入的命令组织并转化为 apiserver 能识别的信息进而实现管理 k8s 各种资源。 #kubectl 的命令大全 kubectl --help-h 对资源的增、删、查操作比较方便但对改的操作就不容易了 #查看k8s版本信息 kubectl version#查看资源对象简写 kubectl api-resources#查看集群信息 kubectl cluster-info#node节点查看日志 journalctl -u kubectl -f1.2.2 kubectl 的基本语法 kubectl [command] [Type] [NAME] [flags]语法构成部分名称功能举个例子command子命令用于操作kubernetes集群资源对象的命令例如create, delete, describe, get, apply等等TYPE资源对象的类型区分大小写,能以单数复数或者简写形式表示NAME资源对象的名称区分大小写,如果不指定名称系统则将返回属于TYPE的全部对象的列表flags子命令的可选参数 1.2.3 Kubectl工具的自动补全功能 Kurbernetes在2.0 版本后就增加kubectl自动补全功能。 #二进制安装的k8s,kubectl工具没有自动补全功能(其他方式安装的未验证) #可以使用以下方式开启命令自动补全 vim /etc/bashrcsource (kubectl completion bash)1.3 Kubernetes Service 遇到的问题 1Pod 的 IP 不固定Pod可能会重建 2一组 Pod 实例之间总会有负载均衡的需求 简介 Kubernetes ServiceKubernetes 服务是一种虚拟网络抽象它定义了一组完成特定功能的 Pod 的策略并为这组 Pod 提供了稳定的访问端点。 服务可用于将应用程序暴露给集群内外部的其他组件从而实现应用程序间的通信。 Kubernetes Service 提供了以下主要功能 1透明的服务发现通过为服务分配唯一的 DNS 名称可以轻松地在集群内进行服务发现而不需要了解服务所在的具体 Pod。 2负载均衡服务为后端 Pod 提供负载均衡将流量均匀地分发给各个 Pod从而提高应用程序的可用性和可扩展性。 3稳定的网络端点每个服务都有一个虚拟 IP 地址和端口可以稳定地与服务进行通信而不受底层 Pod 的变化影响。 1.4 Service 的类型(记下来) 1ClusterIP Service的默认类型提供一个集群内部的虚拟IPCluster IP:Port)用于Kurbernetes集群内部访问。 2NodePort 会在每个node节点上开启一个端口K8S集群内部和外部用户都可以通过NodeIP:NodePort访问service并转发给其关联的Pod。 每个端口只能是一种服务端口范围只能是 30000-32767。 3LoadBalancer 使用云负载设备和service节点再通过nodeIP:nodePort访问service并转发给其关联的Pod。 4ExternalName 将service名称映射到一个DNS域名上相当于DNS服务的CNAME记录用于让Pod去访问集群外部的资源。 它本身没有绑定任何的资源。 1.5 Service的端点类型 Service是通过标签选择器绑定Pod的标签来关联Pod的端点Endpoint)。 1Port Service 的ClusterIP 使用的端口 2 NodePort 在NodePort类型的service定义的端口在每个node节点上开启的端口即 nodeIP 使用的端口默认范围为30000~32767 3TargetPort 使用云负载设备和service做映射外部用户通过云负载设备即可将请求转发到node节点再通过nodeIP:nodePort访问service并转发给其关联的Pod。 4ContainerPort 相当于给一个外部地址做别名集群内的Pod可以通过这个service访问相关的外部服务。8875 K8S集群内部的客户端可以通过 http://clusterIP:port -- podIP:containerPortK8S集群外部的客户端可以通过 http://nodeIP:nodePort -- podIP:containerPort1.6 补充知识各种IP 1.Node IP Node IP 是在节点的基础网络上使用的唯一标识符。 Node IP 扮演了连接集群内部和外部网络的网关作用所有经过 Node 的网络流量都会通过 Node IP这个 IP 地址通常称为节点 IP 或主机 IP。 Kubernetes 中的每个 Pod 都运行在一个 Node 上并可以访问 Node IP。 因此如果需要连接到集群外部的服务或者需要在 Pod 中访问互联网上的某些资源可以使用 Node IP 进行通信。 2.Pod IP Pod IP 是在容器网络内部使用的唯一标识符。 在Kubernetes中每个Pod都有一个IP地址这个IP地址是由Kubernetes集群内部的CNI插件分配的。 Pod的IP地址只在集群内部有效并在容器网络中用于相互通信通过访问Pod的IP地址可以从集群内部直接访问Pod中的容器。 Pod的IP地址是在Pod创建时动态分配的如果Pod被删除并重新创建它的IP地址也可能会改变。 因此在配置Kubernetes Service时应该使用Service名称DNS名称来标识后端Pod而不是使用IP地址。 3.Cluster IP Cluster IP 是一种虚拟 IP 地址用于在集群内部访问服务Service或 Pod 的 IP 地址。 Cluster IP 地址仅在 Kubernetes 集群内部可用在集群外部不可访问。 Cluster IP 地址不是与任何实际网络接口相关联的它仅是一个虚拟地址并且被 Kubernetes 用作服务或 Pod 的入口点负责在 Kubernetes 集群内部路由网络流量。 二、通过陈述式资源管理方式管理资源 2.1 创建 run为一次性的创建运行删除后不会自动生成没有pod控制器。 create创建的删除后还会自动生成有pod控制器拥有副本集控制。 2.1.1 create子命令 kubectl create [-n 命名空间] 资源类型 资源名称 [选项]--image镜像 --replicas副本数 --port容器端口#举个例子 kubectl create service service-name --tcpport:target-portkubectl create pod pod-name --imagecontainer-imagekubectl create deployment deployment-name --imagecontainer-image2.1.2 run子命令 kubectl run 资源名称 --image镜像 --replicas副本数 --port容器端口2.2查看基本信息-----get子命令 #基本格式 kubectl get resource [-o wide|json|yaml] [-n namespace]获取资源的相关信息-n指定命令空间-o指定输出格式 resource可以是具体资源名称如pod nginx- xxx;也可以是资源类型如pod; 或者all (仅展示几种核心资源并不完整)--all-namespaces 或-A :表示显示所有命令空间 --show-labels :显示所有标签 -l x:仅显示标签为x的资源 -l xy:仅显示包含x标签且值为y的资源2.2.1 Kubernetes 集群组件的状态 kubectl get componentstatuses kubectl get cs #简写get pods --show-labels #查看有哪些标签面试常问2.2.2 命名空间 命名空间在 Kubernetes 中主要用于隔离和管理资源名称。 每个命名空间具有自己的资源名称空间保证了资源名称的唯一性。 1.获取当前集群中所有命名空间的列表 kubectl get namespace kubectl get ns #简写2.获取命名空间中的所有资源的列表 kubectl get all [-n namespace] #不指定命名空间则默认查看default命名空间2.2.3 Service服务 kubectl get service kubectl get svc 2.2.4 pod信息 kubectl get pods [-n namespace] [-o wide|json|yaml]kubectl get pods --all-namespaces -o wide2.2.5 Node节点列表 kubectl get nodes2.3 查看资源详细信息-----describe kubectl describe [-n 命名空间] 资源类型 资源名称#举个例子 #先根据kubectl get pods -A找到要查看的资源 kubectl describe pod etcd-master01 -n kube-system2.4 查看日志----- logs kubectl logs [-n 命名空间] Pod资源名称 [-c 容器名称] [-f] [-p] #查看Pod容器的日志选项对象功能-n命名空间用于指定 Pod 所属的命名空间如果不指定命名空间将默认使用默认命名空间-c容器名称可选的容器参数用于指定要获取日志的容器名称如果 Pod 中只有一个容器可以省略此参数-f可选的跟踪参数用于告诉命令持续输出日志通过添加该参数命令将继续监视并输出 Pod 的新日志。-p可选的先前参数用于获取已经终止的 Pod 的先前日志如果 Pod 重新创建或重新调度该参数可以用来获取先前的日志 #举个例子 kubectl logs -n kube-system kube-proxy-76hd62.5 删除指定的资源-----delete Pod没有重启的概念重启的是容器 被自动删除和重新创建 #删除命名空间app kubectl delete [-n 命名空间] 资源类型 资源名称|--all [--force --grace-period0]#若pod无法删除 总是处于terminate状态 则要强行删除pod kubectl delete pod name [-n namespace ] --force --grace-period0grace-period表示过渡存活期默认30s在删除pod之前允许POD慢慢终止其上的容器进程从而优雅退出0表示立即终止pod。 2.6 跨主机登录容器-----exec kubectl exec可以跨主机登录容器docker exec 只能在容器所在主机上登录。 kubectl exec -it [-n 命名空间] Pod资源名称 [-c 容器名称] sh|bashkubectl exec -it my-nginx-7576957b7b-h486t sh2.7 replicas(副本数) -----scale 用于调整 Kubernetes 集群中 Deployment 或 StatefulSet 对象的副本数量。 kubectl scale [-n 命名空间] deployment|statefulset 资源名称 --replicas副本数#增加副本数扩容 kubectl scale deployment my-nginx --replicas5#减少副本数缩容 kubectl scale deployment my-nginx --replicas1三、结合项目的生命周期说明 项目的生命周期创建–发布–更新–回滚–删除 3.1 创建-----kubectl create命令 创建并运行一个或多个容器镜像。 创建一个deployment 或job 来管理容器。 kubectl create --help kubectl create service svc资源类型 svc资源名称 --tcpclusterIP的端口:容器的端口#举个例子 #启动 nginx 实例暴露容器端口 80设置副本数 3 kubectl create deployment nginx --imagenginx:1.14 --port80 --replicas3kubectl get pods kubectl get all3.2 发布-----kubectl expose命令 将资源暴露为新的 Service。 kubectl expose --helpkubectl expose [-n 命名空间] deployment 资源名称 --name 自定义svc资源名称 --type svc资源类型 --port clusterIP的端口 --targetPort 容器的端口ClusterIP|NodePort|LoadBalancer|ExternalName举个例子 #为deployment的nginx创建service #并通过Service的80端口转发至容器的80端口上 #Service的名称为nginx-service类型为NodePort kubectl expose deployment nginx --port80 --target-port80 --namenginx-service --typeNodePort#查看pod网络状态详细信息和 Service暴露的端口 kubectl get pods,svc -o wide#查看关联后端的节点 kubectl get endpoints#查看 service 的描述信息 kubectl describe svc nginxcurl 10.244.1.7:80curl 192.168.2.100:31134#在master01操作 查看访问日志 kubectl logs nginx-d9d8cf5c7-h4rwq kubectl logs nginx-d9d8cf5c7-frt7t kubectl logs nginx-d9d8cf5c7-44qdl3.3 更新 ----- kubectl set命令 更改现有应用资源一些信息 kubectl set --help#更新 Kubernetes 集群中某个 Deployment 的容器镜像 kubectl set image deployment deployment资源名称 容器名镜像名 #更改 Kubernetes 中服务对象的标签选择器 kubectl set selector service svc资源名称 标签keyvalue3.3.1 举个例子 #查看当前 nginx 的版本号 curl -I http://192.168.2.100:31134#将nginx 版本更新为 1.15 版本 kubectl set image deployment/nginx nginxnginx:1.15kubectl get pods,svc -o wide#再次查看nginx版本号 curl -I 192.168.2.100:311343.3.2 滚动更新 滚动更新 RollingUpdate 3 desired 副本数期望值 25% max surge 更新时允许创建的最大副本数/比例向上取整 25% max unavailable 更新时允许销毁的最大副本数/比例向下取整3 * 25% 0.75 向上取整为 1 向下取整 010 desired 25% max surge 25% max unavailable10 * 25% 2.5 向上取整为 3 向下取整 2 10-2 Pod的副本数 (103) 即整个滚动更新过程中Pod的副本数始终会处在 8 ~ 13 之间3.4 回滚 ----- kubectl rollout 命令 #查看指定 deployment 资源的历史记录包括版本号、更新时间和事件 kubectl rollout history deployment deployment资源名称#回滚 kubectl rollout undo deployment deployment资源名称 [--to-revisionN]指定版本回滚#状态 kubectl rollout status deployment deployment资源名称举个例子 #查看历史版本 kubectl rollout history deployment/nginx #执行回滚到上一个版本 kubectl rollout undo deployment/nginx#执行回滚到指定版本 kubectl rollout undo deployment/nginx --to-revision1#检查回滚状态 kubectl rollout status deployment/nginx 四、发布策略 如果运维自动化能力储备不够肯定是越简单越好建议蓝绿发布 如果业务对用户依赖很强建议灰度发布 如果是K8S平台滚动更新是现成的方案建议先直接使用。 4.1 蓝绿发布 概念定义蓝绿发布是一种以最小的停机时间做服务升级的策略。需要维护的两个版本的环境分别称为 “蓝环境” 和 “绿环境”。一般当前生产流量指向环境为绿环境而在蓝环境上部署新版本短时间内作为测试环境。 **发布流程**首先将一半的服务流量从负载均衡列表中移除并且更新服务版本验证新版本没有问题后将生产流量指向蓝环境然后对于老版本的绿环境进行版本升级最后将所有服务流量加回负载均衡。 两套环境交替升级旧版本保留一定时间便于回滚。 **优点**1升级过程无需停机用户感知小2升级/回滚速度快。 **缺点**浪费资源成本高 4.2 红黑发布 **概念定义**与蓝绿发布类似红黑发布也是通过两个环境完成软件版本的升级将当前生产流量指向的环境称为红环境新版本环境称为黑环境。 **发布流程**需申请新资源用于部署黑环境在黑环境部署新版本的服务黑环境部署完成后一次性将生产流量指向黑环境释放红环境的资源。 4.3 灰度发布金丝雀发布 #金丝雀发布由来 以前矿工开矿在下矿洞前需要检查下方是否有毒气矿工们先会放一只金丝雀进去探是否有毒气体看金丝雀能否活下来。4.3.1 简介 概念定义 灰度发布属于增量发布新老版本同时为用户提供服务主要目的是保证系统的可用性。 灰度发布只升级部分服务即让一部分用户继续用老版本一部分用户开始用新版本如果用户对新版本没什么意见那么逐步扩大范围把所有用户都迁移到新版本上面来。 **发布流程**在现有环境中部署少量服务的新版本金丝雀部署完成后对线上流量进行监测如果没有问题就对老版本服务进行全量升级。 特点 用户体验影响小灰度发布过程出现问题影响范围较小新版本功能逐步发布可以逐步评估新版服务性能、稳定性和健康状态发布自动化程度不够发布期间可能引发服务中断 4.3.2 实例 在kurbernets集群中通过陈述式管理方式实现灰度发布。 kubectl set image deployment deployment资源名称 容器名镜像名 kubectl rollout pause deployment deployment资源名称 kubectl rollout resume deployment deployment资源名称4.4 滚动发布 滚动发布是指每次只升级一个或多个服务升级完成后加入生产环境不断执行这个过程直到集群中的全部旧版本升级新版本。 滚动发布:按批次比例停止老版本实例启动新版本实例 小结 陈述式资源管理方式 kubectl create [-n 命名空间] 资源类型 资源名称 [选项]--image镜像 --replicas副本数 --port容器端口kubectl run 资源名称 --image镜像 --replicas副本数 --port容器端口kubectl get [-n 命名空间] 资源类型|all [资源名称] [-o wide|yaml|json] [-w]#详细信息 kubectl describe [-n 命名空间] 资源类型 资源名称#删除重启 kubectl delete [-n 命名空间] 资源类型 资源名称|--all [--force --grace-period0]立即终止Pod运行并强制删除资源 #远程登录 kubectl exec -it [-n 命名空间] Pod资源名称 [-c 容器名称] sh|bash#查看Pod容器的日志 #-f选项实时查看 #-p选项查看容器终止前重新调度前的日志 kubectl logs [-n 命名空间] Pod资源名称 [-c 容器名称] [-f] [-p]#修改副本数 kubectl scale [-n 命名空间] deployment|statefulset 资源名称 --replicas副本数#暴露为新的service kubectl expose [-n 命名空间] deployment 资源名称 --name 自定义svc资源名称 --type svc资源类型 --port clusterIP的端口 --targetPort 容器的端口ClusterIP|NodePort|LoadBalancer|ExternalNamekubectl create service svc资源类型 svc资源名称 --tcpclusterIP的端口:容器的端口kubectl set image deployment deployment资源名称 容器名镜像名 kubectl set selector service svc资源名称 标签keyvalue##回滚## #查看指定 deployment 资源的历史记录包括版本号、更新时间和事件 kubectl rollout history deployment deployment资源名称#将指定 deployment 资源回滚到先前的版本 #--to-revisionN 指定版本回滚 #不指定默认回滚到上一个版本 kubectl rollout undo deployment deployment资源名称 [--to-revisionN]#检查指定 deployment 是否已完成部署 kubectl rollout status deployment deployment资源名称滚动更新 RollingUpdate 3 desired 副本数期望值 25% max surge 更新时允许创建的最大副本数/比例向上取整 25% max unavailable 更新时允许销毁的最大副本数/比例向下取整3 * 25% 0.75 向上取整为 1 向下取整 010 desired 25% max surge 25% max unavailable10 * 25% 2.5 向上取整为 3 向下取整 2 10-2 Pod的副本数 (103) 即整个滚动更新过程中Pod的副本数始终会处在 8 ~ 13 之间service 的4种类型 #service 的4种类型ClusterIP默认的service资源的类型提供clusterIP:port供K8S集群内部访问NodePort会在每个node节点上开启一个端口K8S集群内部和外部用户都可以通过nodeIP:nodePort访问service并转发给其关联的PodLoadBalancer使用云负载设备和service做映射外部用户通过云负载设备即可将请求转发到node节点再通过nodeIP:nodePort访问service并转发给其关联的PodExternalName相当于给一个外部地址做别名集群内的Pod可以通过这个service访问相关的外部服务service 是 通过 标签选择器 绑定 Pod 的标签来关联 Pod 的端点Endpointsservice 的端点 #service 的端点 portservice 的 clusterIP 使用的端口nodePort在NodePort类型的service定义的端口在每个node节点上开启的端口即 nodeIP 使用的端口默认范围为30000~32767targetPortservice将发送给port或nodePort的请求转发给Pod的容器端口需与containerPort一致containerPort创建 Pod 时所指定的容器端口K8S集群内部的客户端可以通过 http://clusterIP:port -- podIP:containerPort K8S集群外部的客户端可以通过 http://nodeIP:nodePort -- podIP:containerPort发布策略 蓝绿发布两套环境交替升级旧版本保留一定时间便于回滚优点用户无感知缺点浪费资源成本高滚动发布按批次比例停止老版本实例启动新版本实例灰度发布/金丝雀发布根据比例将老版本升级例如80%用户访问是老版本20%用户访问是新版本 kubectl set image deployment deployment资源名称 容器名镜像名 kubectl rollout pause deployment deployment资源名称 kubectl rollout resume deployment deployment资源名称
http://www.w-s-a.com/news/684662/

相关文章:

  • 网络营销案例分析与实践搜外seo
  • 手机建网站挣钱吗wordpress面包屑
  • 淘客做网站怎么备案网站开发工具的是什么
  • 提供大良网站建设郑州网站建设网站开发
  • 邢台做wap网站价格wordpress评论滑动
  • 绝味鸭脖网站建设规划书江苏建设人才网 官网
  • 网站源码授权破解centos wordpress 整站
  • 建设一个私人视频网站wordpress js
  • 手机企业网站制作流程3d建模自学
  • 网站优化方案和实施wordpress的归档
  • 建设事业单位网站多少钱集艾设计公司官网
  • 网站建设与管理方案书图片的制作方法
  • 中文建网站美发网站模板带手机版
  • 免费聊天不充值软件windows优化大师下载安装
  • 网站优化的关键词自己怎么做外贸网站空间
  • 现在建设的网站有什么劣势温州互联网公司
  • 重庆自助企业建站模板淘宝关键词top排行榜
  • 平邑网站制作买高端品牌网站
  • 深圳建网站三千网站安全代维
  • 西宁市精神文明建设网站装饰设计甲级资质
  • 做教育行业营销类型的网站徐州做网站多少钱
  • 临沂品牌网站制作企业网站建设搜集资料
  • wordpress注册验证码手机网站优化
  • 往建设厅网站上传东西做衣服的教程网站有哪些
  • 网上商城网站设计免费咨询口腔科医生回答在线
  • 南京网站c建设云世家 s浏览器
  • 如何做镜像别人网站wordpress菜单对齐修改
  • 长春网站建设net企业公示信息查询官网
  • 金鹏建设集团网站可在哪些网站做链接
  • 电子产品网站开发背景网站关键词优化方案