昆明住房和城乡建设局网站,网站做推广的方式,做网站能赚多少钱,泰安房源最新出售命令行: kubectl命令行工具
优点: 90%以上的场景都可以满足对资源的增#xff0c;删#xff0c;查比较方便#xff0c;对改不是很友好
缺点:命令比较冗长#xff0c;复杂#xff0c;难记声明式
声明式#xff1a;K8S当中的yaml文件来实现资源管理
GUI#xff1a;图形…命令行: kubectl命令行工具
优点: 90%以上的场景都可以满足对资源的增删查比较方便对改不是很友好
缺点:命令比较冗长复杂难记声明式
声明式K8S当中的yaml文件来实现资源管理
GUI图形化工具的管理 kubectl命令的详解
查看 部署 查看pod的情况详细信息和日志发布和回滚
Kubernetes kubectl 命令表 _ Kubernetes(K8S)中文文档_Kubernetes中文社区 查看k8s版本信息
kubectl version 查看K8S资源当中所有资源对象的名称以及简写
kubectl api-resources 查看K8S集群信息
kubectl cluster-info source (kubectl completion bash) 查看MASTER节点的状态基本信息查看
kubectl get cs 查看默认命名空间default内的pod的信息
kubectl get pod 查看当前集群所有的命名空间
kubectl get ns 查看指定命名空间内的pod需要加 -n命名空间的名称
kubectl get pod -n kube-system 查看默认命名空间内pod的详细信息
kubectl get pod -o wide 查询节点信息和状态
kubectl get node 查看node节点的详细信息
kubectl get node -o wide 查看已经部署好的pod的详细信息
kubectl get pod
kubectl describe pod nginx-6799fc88d8-f9c8g kubectl describe pod -n kube-system etcd-master01 查看pod输出的日志
kubectl logs nginx-6799fc88d8-f9c8g 一次性查看
kubectl logs -f nginx-6799fc88d8-f9c8g 动态查看 kubectl logs -f etcd-master0l -n kube-system 创建一个命名空间
kubectl create ns abc 查看命名空间
kubectl get ns 删除命名空间
kubectl delete ns abc kubectl delete pod nginx-6799fc88d8-f9c8g -n 命名空间 kubectl get pod会发现nginx-6799fc88d8-f9c8g没有被删除基于deployment进行部署的原因 pod的部署
deployment的部署pod
陈述式部署命令行
声明式yaml文件部署
滚动更新不是一次性的把所有pod全部部署而是一个个来。pod的更新时使用。逐步的引入新的pod逐步的减少旧的pod
自我修复如果有pod节点发生故障deployment会自动更新新的pod来进行代替
回滚如果更新有问题deployment会提供还原点可以手动的还原到未更新前的状态
扩容和缩容deployment可以随时调整pod的数量以适应流量的变化
上述的功能必须是基于deployment创建的服务才可以 daemonset不能通过命令行创建只能通过yaml文件中定义这种创建方式
后台运行创建在每个节点上都创建一个相同方式的、相同版本的容器运行的pod
一般都是依赖环境和重要组件一般也不会对这些资源进行操作 如果基于deployment方式创建的pod或者daemonset方式创建的pod是由控制器创建的pod使用delete是删不掉的相当于重启pod kubectl delete deployments.apps nginx-fmh -n abc
#基于deployment方式创建pod一旦删除deployment基于deployment创建的pod都会被删除。慎用 不是基于控制器创建的会被直接删除 kubectl delete pod nginx-dn-6d6cd9c7c5-j7ffr --force --grace-period0
grace-period:表示过度存活期。默认30秒。可以让pod优雅的结束容器内的进程然后退出pod
grace-period0表示立刻终止pod。必须要force 主要是用于结束卡在销毁状态的pod 对deployment创建的pod进行扩缩容
kubectl scale deployment nginx-fmh --replicas3 扩容
kubectl scale deployment nginx-fmh --replicas1 缩容 创建pod时并没有指定副本数后续也可以对他的副本数进行修改 如何把服务的service进行发布
kubectl get pod service类型
kubectl get service/svc
kubectl delete svc nginx 删除service
kubectl get svc -n kube-system TYPE类型
ClusterIP 创建service的默认类型提供一个集群内部的虚拟IP地址这是service的默认类型。通过这个虚拟ip可以直接访问pod的资源无法对外提供访问。
NodePort会在每个node节点上开放相同的端口。外部可以通过node的本机IP端口访问pod资源。集群外部访问service资源的一种方式。四层代理的方式
nodeipnodeport。随即指派也可以指定端口范围30000 --- 32767 基于deployment创建的pod可以使用这种方式
kubectl deployment nginx --port80 target-port80 --namenginx-service --typeNodePort 10.96.232.240 集群内部的ip地址外部是不可以访问这个ip地址的.
80:对应的是内部的service的端口
32436: 和内部的service的80端口做映射 LoadBalancer: 如果service的类型设定为LoadBalancer映射地址(云平台提供LoadBalancer的地址) 这种用法仅用于公有云服务供应商在云台上设置的service的场景。外部来访问实现负载均衡。LoadBalancer这个是地址是要付费的。
创建好了service指定类型为LoadBalancer会给你提供一个地址来带代理pod内部的ip地址 ExternalName: DNS映射给service分配一个域名通过域名来访问后端pod资源。ExternalName的service类型不能提供负载均衡。必须要设置一个LoadBalancer的地址才可以实现 数字的大小决定了距离上次操作的远近数字越大就是你最近的一次操作
kubectl set image deployment nginxl nginxnginx:1.15 --record
kubectl rollout history deployment nginxl