k8s集群管理

本文详细介绍了kubectl的使用方法,包括其基本命令结构、资源对象概念、Pod的创建、生命周期管理和状态,以及核心的管理操作如get、describe和logs。重点讲解了Pod作为最小管理单元的作用和kubectl在命名空间、创建和应用资源对象中的应用。
摘要由CSDN通过智能技术生成

kubectl 集群管理命令

kubectl  [command]   [type] [name]  [flags]

command 子命令: create,get,describe,delete

type: 资源类型,可以表示单数,复数,缩写形式

name: 资源名称,省略不写,显示所有资源信息

flags: 指定可选标志,或参数管理主机授权

vim  /etc/hosts   # 为其他主机添加管理权限  

dnf  -y  install   kubectl  #安装集群管理工具 kubectl

拷贝证书到目标主机

- 证书默认路径: $HOME/.kube/config

资源对象

资源对象是k8s中把可以创建或者配置的应用和服务称为资源对象

集群中创建的Pod ,负载均衡,存储,网络服务都算资源对象

如何创建资源对象

kubectl 直接创建

运用资源对象文件创建

使用run创建一个Pod资源对象

kubectl  run Pod名称  [选项/参数]   --image=镜像名称:标签

Pod    

由多个或者一个容器组成,是k8s中的最小管理元素

是一个服务的多个进程的聚合单位

同一个Pod 共享网络IP及权限,共享主机名,共享存储设备

1,创建容器   ---》   写入数据   ---》 回答好的 

2,调度器调度资源   ---》 绑定pod  ---》记录数据 ---》master 创建容器 ---》 node 创建结果 ---》master ---》记录数据 ---》 返回结果

为什么使用pod 

服务之间有相关性

启动容器的时候需要初始化或进行相关配置

pod的生命周期

Pod对象自从创建开始至终止的时间范围

在这段时间中,pod处在多种不同的状态,并执行相关操作

创建容器为必需的操作,其他为可选操作(初始化容器,启动后钩子,存活性弹测,就绪性探测以及终止前钩子等)

pod生命周期

pod相位状态  status字段

1,Pending(等待中)          Pod创建过程中,但是它尚未被调度完成

2,Running(运行中)          Pod中所有容器都已经被创建成功

3,Completed       Pod所有容器都已经成功终止,并不会被重启

3,Succeeded(已完成):如果Pod中的所有容器成功地执行完任务并退出,Pod将进入已完成的状态。通常见于 Job 任务

4,Failed(失败)               Pod中的所有容器中至少有一个容器退出是非0状态

5,Unknown  (未知)        无法正常获取到Pod对象的状态信息

6,Terminating(终止中)Pod正在被删除或终止,Kubernetes会尝试停止容器并清理资源

7,ContainerCreating(创建容器中):当Pod的容器正在创建中时,Pod将进入创建容器中的状态。常见在容器镜像下载或初始化容器执行的过程中。

系统中的核心服务都是运行在Pod中

Pod核心管理命令

kubectl  get  资源类型 [资源名成]  [选项/参数]

-o name  只显示名字

-o wide  显示更加详细信息

-o yaml   以yaml语法格式显示

-o json   以json 语法格式显示

查看命令空间    kubectl   get  namespace

查看那命令空间中的资源对象  kubectl  -n  kube-system get  pods

系统命名空间   namespace

default 默认的命令空间,不声明命名空间的Pod都在这里

kube-node-lease 为高可用提供心跳监视的命名空间

kube-public 公共数据,所有用户都可以读取它

kube-system 系统服务对象所使用的命令空间

k8s系统核心服务都在运行在kube-system 名称空间

kubectl  create  <资源对象>  [选项/参数]

kubectl create namespace work  创建简单资源对象

kubectl  get  namespace  查看

kubectl   run  pod名称  [选项/参数]

kubectl  -n work  run myhttp  --image=myos:httpd   创建简单Pod资源对象

kubectl  -n work get pods  -o wide  查询资源对象

kubectl  describe 资源类型  [资源名称]   [选项/参数]

Events 下是事务日志,用来排错

kubectl  logs Pod名称 [选项/参数]

排错三命令

kubectl  get            kubectl  desciibe         kubectl   logs

Pod 管理命令

kubectl exec [选项/参数]   Pod名称   -- 操作命令 

常用参数  -it   分配交互式终端

kubectl cp  [选项/参数]   源文件   目标文件

-  路径格式  [Pod名称:绝对路径]

kubectl delete  [选项/参数]   资源类型   资源名称

资源对象

kubernetes对象是 "目标性记录"

k8s 使用这些对象去表示整个集群的状态

 kubectl create pod   myweb --image myos:nginx  --dry-run=client -o yaml

静态Pod是kubelet  守护进程直接管理的Pod ,不需要APi服务器监管,与由控制面管理的Pod不同

kubelet 监视每个静态Pod(在它崩溃之后重新启动)

静态Pod永远都会绑定到一个指定节点上的Kubelet

静态Pod的spec 不能引用其他Api对象

静态Pod配置路径:/var/lib/kubelet/config.yaml

staticPodPath: /etc/kubernetes/manifests  #在路径下创建pod

kubectl create  -f  myweb.yaml     创建文件中定义的资源(重复执行会报错)

kubectl  apply  -f  myweb.yaml       创建(更新)资源对象(可以重复执行)

kubectl  delete  -f  myweb.yaml      删除资源对象

kubectl  replace -f  myweb.yaml      删除并重启资源对象 

  • 43
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值