高端品牌网站定制设计免展网站后台注册

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

高端品牌网站定制设计,免展网站后台注册,服务器用来做网站和数据库,怎样凡科建设网站k8s的陈述式资源管理#xff1a; 命令行#xff1a;kubectl命令行工具 优点#xff1a;90%以上的场景都可以满足 对资源的增#xff0c;删#xff0c;查比较方便#xff0c;对改不是很友好 缺点#xff1a; 命令比较冗长#xff0c;复杂#xff0c;难记 声明式 命令行kubectl命令行工具 优点90%以上的场景都可以满足 对资源的增删查比较方便对改不是很友好 缺点 命令比较冗长复杂难记 声明式 k8s当中的yaml文件来实现资源管理——声明式 GUI图形化工具的管理。 1、kubectl命令的详解    查看      部署      查看pod的情况详细的信息日志  发布和回滚 Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区 kubectl version 查看k8s的版本 kubectl api-resources 查看所有api的资源对象的名称简写 kubectl cluster-info   查看k8s的集群信息 kubectl get ComponentStatuscs 查看master节点的状态 基本信息查看 kubectl get pod 查看默认命名空间内的pod的信息 kubectl get ns  查看当前集群所有的命名空间 kubectl get pod -n kube-system 查看指定命名空间内的pod需要加-n 命名空间的名称 kubectl get pod -o wide 查看默认命名空间内的pod的详细信息 kubectl get pod -o wide -n kube-system 查看指定命名空间内pod的详细信息 kubectl get node 查询节点的信息和状态 kubectl get node -o wide 查看node节点的详细信息 查看已经部署好的pod节点的详细信息 kubectl get pod可以查到的describe都可以看到 kubectl describe pod nginx-6799fc88d8-f9c8g容器id 查看指定pod的详细信息 例查看etcd-master01的详细kube-system kubectl describe pod -n kube-system9:31 如何查看pod内部的日志 kubectl logs nginx-6799fc88d8-f9c89 -f 动态查看日志 kubectl logs -n kube-system 查看指定命名空间内的pod资源 创建一个命名空间 kubectl create namespacensguoqi 删除命名空间 kubectl delete ns guoqi 删除指定pod的命名空间 kubectl delete pod nginx-6799fc88d8-f9c89 要先声明动作指定对象指定操作对象的名称 create delete get    ns  pod  service    guoqi 不是默认命名空间还要加  -n 指定命名空间 deployment部署pod 陈述式部署命令行 声明式yaml文件部署 滚动更新不是一次性的把所有pod全部部署而是一个个来。pod的更新时使用逐步的引入新的pod逐步的减少旧的pod 自我修复如果有pod节点发生故障deployment会自动启动新的pod来进行代替 回滚如果更新有问题deployment会提供还原点可以手动还原到未更新前的状态。 扩容和缩容deployment可以随时调整pod的数量以适应流量的变化。 上述的功能必须是基于deployment创建的服务才可以。绝大数的pod都是使用deployment来创建的 kubectl get deployments.apps kubectl get deployments.apps -n kube-system kubectl get daemonsets.apps  -n name9:50 daemonset不能通过命令行创建只能在yaml文件当中定义这种创建方式 daemonsets后台运行创建在每个节点上都会创建一个相同方式的相同版本的容器运行的pod。 一般都是依赖环境和重要组件一般也不会对这些资源进行操作。 kubectl create deployment nginx-dn 在当前的命名空间里不能重复 kubectl create deployment nginx –imagenginx kubectl create deployment nginx-dn –imagenginx kubectl create ns guoqi kubectl create deployment nginx-dn –imagenginx  –replicas3 -n guoqi kubectl get pod -n guoqi 注如果是基于deployment方式创建的pod或者是dameonset方式创建的pod也就是由控制器创建的pod使用delete删除pod是删不掉的相当于重启pod 要先删除控制器控制器deployment一旦删除了基于这个控制器创建的pod都会被一并销毁 如无特殊需要一般不删除 不是基于控制器创建的会被直接删除掉 删除之前要先查看哪些是基于deployment控制器创建的否则删除就真的没了 远程进入节点容器 kubectl get pod -o wide kubectl exec -it nginx-dn-6d6cd9c7c5-j7ffr  bash echo 123 /usr/share/nginx/html/index.html curl 10.244.1.7 注docker的exec只能在本机内部使用不能跨主机kubectl exec可以跨主机进入容器 kubectl create deployment nginx –imagenginx -n guoqi 那么如今进去命名空间进行创建操作呢 范围命名空间的资源都要加-n 10:41 kubec delete pod ngi-dn-  –force –grace-peroid0 grace-period表示过度存活期默认是30秒。可以让pod优雅的结束容器内的进程 -o表示 kubectl delete pod nginx-dn - kubectl  delete pod nginx-dn –grace-period0 如果pod一直卡在Terminating状态 加–force主要是用于强制结束卡在销毁状态的pod。10:49 如何对基于控制器deployment创建的pod进行扩缩容 扩容 kubectl scale deployment nginx-dn –replicas3 缩容 kubectl scale deployment nginx-dn –replicas1 创建pod时并没有指定副本数后续也可以对他的副本数进行修改。 如何把服务的service进行发布 kubectl get pods kubectl create deployment nginx –imagenginx:1.10 –replicas3 现在我们基于nginx1.10创建了 service是由类型的 如何查看service类型 kubectl get svc 查看不同命名空间的svc情况加-n指定 kubectl get svc kube-system11:00 service 的类型 ClusterIP创建service的默认类型提供一个集群内的的虚拟ip地址这是service的默认类型。通过这个虚拟ip可以直接访问pod的资源无法对外提供访问。 NodePort会在每个node节点上都开放一个相同的端口。外部可以通过node的本机ip端口访问service资源。这是集群外部访问service资源的一种方式。四层代理的方式ip端口七层代理ingress。 nodeipnodeport 随机指派也可以指定 端口范围只能在30000-32767 基于deployment创建的pod可以使用的方式 kubectl expose deployment nginx –port80 –target-port80 –namenginx-service –typeNodePort –port80  service集群的端口 –target-port80 port内部容器的端口 kubectl get svc 查看一下创建的service 类型 Nodeport 10.96.232.240 集群内部的ip地址外部是不可以访问这个ip地址的。 80对应的是内部的service的端口 32426和内部的service的80端口做映射。 nginx80——-service:80——–service和本机的32436端口做映射 kubectl create deployment nginx1 –imagenginx  –replicas3 kubectl expose deployment nginx1 –port8080 –target-port1314 –namenginx-service-typeNodePort kubectl expose deployment nginx1 –port8080 –target-port80 –namenginx-service-typeNodePort pod内部的容器的端口是固定的–port是service和容器映射的端口可以是任意11:20 容器内部的服务的端口–target-port80是固定的不能随便指定但是–port可以随便指定 kubectl edit svc nginx-service kubectl ecit svc nginx1-service LoadBalancer如果service的类型设定为LoadBalancer映射地址云平台提供LoadBalancer 的地址这种用法仅用于公有云服务供应商在云平台上设置的service的场景实现负载均衡。 LoadBalancer这个地址是要付费的。 创建好了service指定类型为LoadBalancer会给你提供一个地址来代理pod内部的ip地址。 11:45 ExternalNameDNS映射给service分配一个域名通过域名来访问后端pod资源。ExternalName的service类型不能提供负载均衡。必须要设置一个LoadBalancer的地址才可以实现。 kubec expose deployment nginx1 –port8081 –target-port80  12:00 service的四种类型 ExterName做映射NodePort对外提供访问 cluster默认类型只用于内部访问 LoadBalancer要花钱的 更新和回滚以及发布的方式 项目的生命周期 创建———发布———更新———回滚———删除 以nginx为例 curl - 192.168.233.91:30000 更新 kubectl  set image deployment nginx1 nginxnginx:1.10 回滚 查看回滚点 kubectl rollout history deployment nginx1 数字的大小决定了距离上一次操作的远近数字越大就是你最近的一次操作。 kubectl set image deployment nginx1 nginxnginx:1.15 回滚的命令 指定还原点 kubectl rollout undo deployment nginx1 –to-revision1 kubectl kubectl get all 查看集群内部是所有信息pod使用的镜像servicedeployment -o wide -n kube-system 查看指定命名空间内的信息 注set是更新的时候加