注册网站账号违法吗,财务公司协会,做网站后端,it运维外包服务方案1、资源管理 
#xff08;1#xff09;陈述式资源管理#xff08;常用——查、增#xff09; 
使用kubectl工具进行命令行管理 
①特点#xff1a;对资源的增删查比较方便#xff0c;对改不友好 
②优点#xff1a;90%以上的场景都可以满足 
③缺点#xff1a;命令冗长…1、资源管理 
1陈述式资源管理常用——查、增 
使用kubectl工具进行命令行管理 
①特点对资源的增删查比较方便对改不友好 
②优点90%以上的场景都可以满足 
③缺点命令冗长、复杂 
2声明式资源管理常用——部署资源 
使用yml文件进行声明式资源管理 
3GUI图形化资源管理 
2、kubectl命令详解 
1查看 
kubectl命令大全网站http://docs.kubernetes.org.cn/683.html 查看版本信息  kubectl version  查看所有api的资源对象  kubectl api-resources  查看k8s的集群信息  kubectl cluster-info  自动补齐命令  基本信息查看  查看master节点的状态  kubectl get cs  查看默认命名空间内的pod信息  kubectl get pod  查看当前集群所有命名空间  kubectl get namespaces  查看指定命名空间里的pod  kubectl get pod -n 命名空间名称  查看默认命名空间内pod的详细信息  kubectl get pod -o wide  查看指定命名空间内的pod详细信息  kubectl get pod -o wide -n 命名空间名称  查看node节点信息和状态  kubectl get node  查看node节点的详细信息  kubectl get node -o wide  查看已经部署好的pod的详细信息  kubectl describe pod pod名称  查看指定命名空间里的pod的详细情况  kubectl describe pod pod名称 -n 命名空间名称  动态查看pod日志  kubectl logs -f pod名称  动态查看指定命名空间的pod日志  kubectl logs -f pod名称 -n 命名空间名称  创建命名空间  kubectl create ns 名称  删除命名空间  kubectl delete ns 名称  删除pod没有真正删除   kubectl delete pod pod名称  生成一个新的pod  
2部署 
1deployment部署pod的两种方式 
①陈述式部署命令行 
②声明式部署yml 
2特点 
①滚动更新不是一次性把所有pod全部部署而是依次部署主要在pod更新时使用逐步引入新的pod逐步减少旧的pod 
②自我修复若有pod节点发生故障deployment会自动启动新的pod进行代替 
③回滚若更新有问题deployment会提供还原点可以手动还原到未更新前的状态 
④扩容和缩容deployment可以随时调整pod的数量以适应流量的变化 
注必须基于deployment创建的服务才能实现以上功能绝大多数都使用deployment创建 查看默认命名空间里基于deployment创建的pod   kubectl get deployments.apps  查看指定命名空间里deployment创建的pod  kubectl get deployments.apps -n kube-system  查看默认空间里daemonsets创建的pod  kubectl get daemonsets.apps  daemonset不能在命令行创建只能用yml文件来创建pod后台运行创建在每个节点上创建一个方式相同、版本相同的容器运行的pod。一般是依赖环境和重要组件不会对这些资源进行操作     创建pod 同一个命名空间pod不能重名  kubectl create deployment pod名称 --imagenginx (--replicas3)  注若是基于deployment方式创建的pod 或基于daemonset方式创建的pod均是由控制器创建的pod使用delete删除pod无法删除相当于重启pod。先删除控制器才能删除pod但删除控制器所有基于这个控制器的pod全部被删除慎用      kubectl delete deployments.apps nginx   kubectl delete deployments.apps nginx  不是基于控制器创建的pod 可以直接删除很少用  kubectl run pod名称 --imagenginx  远程进入节点容器  kubectl exec -it 容器名称 bash  注docker的exec只能在本机使用kubectl的exec可以跨主机进入容器     指定命名空间进入容器  kubectl exec -it 容器名称 bash -n 命名空间名称  快速结束容器 用于结束卡在销毁状态的pod  kubectl delete pod nginx-6799fc88d8-j4hxc --force --grace-period0  --grace-period表示过度的存活期默认30秒可以让pod优雅的结束容器内的进程然后退出pod --grace-period0表示立刻退出     对deployment创建的pod扩、缩容 仅限于deployment控制器  kubectl scale deployment nginx1 --replicas3   扩容   缩容   发布服务的service     查看当前命名空间的service  kubectl get svc  删除service  kubectl delete svc nginx  service的类型  ①ClusterIP创建service的默认类型提供一个集群内部的虚拟IP地址通过这个虚拟IP可以直接访问pod的资源仅限于pod内部无法对外提供访问 ②NodePort常用在每个node节点上都开放一个相同的端口外部可以通过node的本机IP端口访问pod资源这是集群外部访问service资源的一种方式四层代理基于deployment创建的pod可以使用这种方式 nodeip:nodeportnodeport可随机指派也可指定范围30000~32767  对外暴露service端口  kubectl expose deployment nginx --port80 --target-port80 --namenginx-service --typeNodePort  --port80    service集群的端口可随意指定 --target-port80    pod内部容器的端口服务固定的端口号   10.96.26.83集群内部的IP地址外部不可以访问 80对应的是内部的service 端口 30934和内部的service的80端口做映射     pod内部的容器的端口是固定的--port是service和容器映射端口可以随意指定 --target-port是容器内部的服务端口  修改service端口  kubectl edit svc service名称      ③LoadBalance若service类型设定为LoadBalance映射地址云平台提供LoadBalance的地址需要付费这种用法仅用于公有云服务供应商在云台上设置的service的场景外部访问实现负载均衡 创建service指定类型为LoadBalance  ④ExternalName常用DNS映射给service分配一个域名通过域名来访问后端pod的资源ExternalName的service类型不能提供负载均衡必须设置一个LoadBalance地址才能实现负载均衡   注企业内部最常见的是NodePort和ExternalName结合一起使用  
3更新、回滚、发布方式 
项目的生命周期创建——发布——更新——回滚——删除 更新服务版本  kubectl set image deployment nginx nginxnginx:1.22.0      查看还原点  kubectl rollout history deployment nginx  数字越大就是最近的一次的操作  设置还原点时加上标识便于识别还原点  kubectl set image deployment nginx nginxnginx:1.15 --record      回滚  kubectl rollout undo deployment nginx --to-revision1     查看还原状态  ①kubectl rollout status deployment nginx ②kubectl get pod -w动态查看  查看默认命名空间集群内的所有信息  kubectl get all  看默认命名空间集群内的所有详细信息  kubectl get all -o wide  查看指定命名空间集群内的所有详细信息  kubectl get all -o wide -n 命名空间名称