联 系 我 们
售前咨询
售后咨询
微信关注:星环科技服务号
更多联系方式 >
7.2 常见运维指令
更新时间:7/16/2024, 5:35:52 AM

社区版Manager操作指令集

如何查看状态、启停

Manager支持以下几种指令:status | stop | start | restart

  1. Agent进程

    systemctl <status | stop | start | restart> transwarp-manager-agent

  2. master进程

    systemctl <status | stop | start | restart> transwarp-manager

  3. Manager自身使用的mariadb

    systemctl <status | stop | start | restart> transwarp-manager-db

社区版开发版镜像&容器相关指令

  • docker images 查镜像

  • docker ps -a 查容器(容器是基于镜像创建)

  • docker exec -it [容器id] bash 进入容器内

  • docker start 启动容器

更详细的内容可查看后续<常见的Docker指令>小节

常见的Linux运维指令

目录操作
  • bin:存放最常用的命令

  • boot:存放linux启动的核心文件

  • home:用户的主目录

  • dev:设备的缩写,存放的是linux的外部设备

  • lost+found:存放非法关机文件

  • etc:存放系统管理所需要的配置文件

  • usr:重要软件存放地点相当于windows 的program file

    • src:内核源代码默认的放置目录

    • bin:用户使用的应用程序

  • opt:主机额外安装的摆放的目录,xmind、redis、Oracle等

  • var:扩张的内存存放

  • run:存放临时文件,当系统重启时会被删除

  • temp:临时文件存放目录用完即丢

  • www: 存放服务器网站的相关资源

文件系统以及权限

ll显示文件属性和权限,linux是一个多用户系统,所以权限繁多

  • [d] :目录

  • [-] : 文件

  • [l] : 链接文档

  • [b] : 表示为装置文件里面可供存储的接口设备

  • [c] : 表示为装置文件的串行设备。例如:鼠标、键盘等

  • r: 代表可读 read

  • w:代表可写 write

  • x: 代表可执行 execute

  • 0位:文件类型 d、-、i、b、c

  • 1-3位:属主权限 ——root可读、可写、可操作

  • 4-6位:属组权限——其他用户无法写

  • 7-9位:其他用户权限——其他用户无法写

更改文件属组
chgrp [-R] 属组名 文件名
复制
  • 参数 r 是递归修改

更改文件属主
chown [-R] 属主名 文件名
复制
更改文件的9个属性
chmod[-R] 文件或目录
复制

Linux文件属性有两种设置方法

  • 符号:-rwxrwxrwx

  • 数字

    • r:4

    • w:2

    • x:1

    • 可读可写不可执行 rw- 6

    • 可读可写可执行 rwx 7

    • 不可读不可写不可执行 --- 0

    • 每种身份各自对应三个权限

      • owner = rwx = 4+2+1 = 7

      • group = rwx = 4+2+1 = 7

      • others = rwx = 4+2+1 = 7

      • chmod 777 filename

文件和目录操作
  • ls:列出目录内容。

  • cd:切换目录。

    • 绝对路径 /

    • 相对路径 ../

    • 用户目录 ~

  • pwd:显示当前工作目录。

  • mkdir:创建一个目录。

    • -p:循环创建目录

  • rmdir:删除目录。

    • -p:层级删除内部文件

  • rm:移除文件或者目录

    • -f:忽略不存在的文件,不会出现警告,强制删除

    • -r: 递归删除目录

    • -i: 互动,询问是否删除

  • cp:复制文件或目录。

  • mv:移动文件或目录。

  • touch:创建空文件或更新文件的访问时间戳。

文本处理,查看文件内容
  • cat:由第一行开始显示文件内容。

  • tac:从最后一行开始显示,可以看出tac是cat的倒写

  • grep:在文件中搜索指定模式。

  • sed:流编辑器,用于文本替换和处理。

  • awk:文本处理工具,支持文本提取、格式化等操作。

  • nl:显示的时候,可以输出行号

  • more:一页一页地显示文件的内容

    • 空格是翻页

    • enter是向下翻一行

    • 退出是q命令

  • less:与more类似但是可以往前面翻页

  • head: 只看头几行

  • tail:只看尾部几行

可以使用man 命令来查看各个命令的使用文档
进程管理
  • ps:显示当前进程状态。

  • top:实时显示系统资源使用情况和进程信息。

  • kill:终止指定进程。

  • pkill:根据进程名终止进程。

用户和权限管理:
  • useradd:创建新用户。

  • passwd:设置用户密码。

  • usermod:修改用户属性。

  • userdel:删除用户。

  • chown:修改文件或目录的所有者。

  • chmod:修改文件或目录的权限。

系统信息
  • uname:显示系统信息。

  • hostname:显示主机名。

  • df:显示磁盘空间使用情况。

  • free:显示内存使用情况。

  • uptime:显示系统运行时间和平均负载。

网络管理
  • ifconfig 或 ip addr:显示网络接口信息。

  • ping:测试网络连接。

  • netstat:显示网络状态和连接信息。

  • traceroute:跟踪数据包的路径。

包管理
  • apt(Debian/Ubuntu):用于包管理、安装、更新和删除软件包。

  • yum(CentOS/RHEL):用于包管理、安装、更新和删除软件包。

Linux的链接
  • 硬链接:A----B,假设B是A的硬链接。那么他们两个指向了同一文件!允许一个文件拥有多个路径,一般用于重要文件上,防止误删。

  • 软链接:类似于Windows下的快捷方式,源文件一旦删除,软链接将无法访问

创建硬链接

ln file1 file2 创建硬链接
复制

创建软链接

ln -sf sourcefile softsourcefile
复制
Vim编辑器基本操作
  • vim基本上分为三种模式

    • 命令模式

    • 输入模式

      • home/end :移动光标到行首行位

      • PageUp/PageDown : 上下翻页

    • 底线命令模式

      • n :跳转到第n行:

      • /word : 向光标之下寻找word

      • ?word:向光标之上寻找word

        • n/N:基础上寻找下一位

      • w:写入

      • q:退出

      • !:强制

      • wq:先写入,后离开

      • ZZ:如果变更写入离开,如果没变更直接离开

      • set nu:显示行号

      • set nonu :取消行号

账号管理

linux是一个多用户的分时管理系统,用户账号的管理工作主要涉及到用户账号的添加、删除、修改

  • 添加用户

    • useradd -选项 用户名

    • -m:自动创建这个用户的主目录/home

    • -G: 分配一个用户组

  • 删除用户

    • userdel -r 用户名

  • 修改用户

    • usermod -参数 用户名

    • -d: 用户主目录

    • -g:用户组目录

  • 切换用户

    • su username

  • 锁定用户

    • passwd -l username

    • passwd -d username 将密码清空,无法下次登录

以上是一些常用的 Linux 运维指令,涵盖了日常系统管理和操作的基本需求,如需了解更多详细指令,可前往星环开发者社区了解: https://community.transwarp.cn/article/detail?id=399

常见的Docker指令

常用的基础操作
  • 容器状态介绍

    • created:已创建

    • restarting:重启中

    • running:运行中

    • removing:迁移中

    • paused:暂停

    • exited:停止

    • dead:死亡

  • 容器管理

    • docker ps:列出正在运行的容器。

    • docker ps -a:列出所有状态的容器,包括正在运行的和已停止的。

    • docker stop <container_id>:停止运行容器。

    • docker restart <container_id>:重启容器。

    • docker rm <container_id>:删除已停止的容器。

    • docker logs <container_id>:查看容器的日志,-f参数实时刷新日志。

      • docker logs -f --tail=500 <container_id>:实时查看最后500条日志;

      • docker logs --since 30m <container_id>:查看最近30分钟的日志;

    • docker exec -it <container_id> <command>:在运行中的容器中执行命令。

    • docker exec -it XXX sh:使用sh命令进入运行中的容器的控制台中

  1. 容器名不可重复,不会覆盖,创建新版本的同名容器之前需要先停止并删除旧容器

  2. 可以使用容器id或容器名作为容器的唯一标识,命令中可以更换使用

  • 运行:

    1. 启动container, 运行某一个image: docker run -it <image_id or image_tag> bash

    2. 提交image的修改: docker commit <container_id> <image_tag>

    3. push image的修改: docker push <image_tag>

其他进阶操作
  • 容器使用

    $ docker run -it ubuntu /bin/bash
    复制
    • -i: 交互式操作

    • -t: 终端

    • ubuntu: 镜像名

    • /bin/bash: 启动 shell 交互式命令

    • -d: 后台运行

  • 镜像管理

    • docker images:列出本地的存在的镜像列表。

      • image_tag 若为空,则使用默认的latest tag:docker pull imange_name:image_tag

      • 注:在本地的docker操作时,镜像id和镜像名+tag均可作为容器的唯一标识,在命令中可替换使用

    • docker pull <image_name>:从仓库拉取镜像。

    • docker tag XXX new_tag:为镜像打标签,若标签已存在,会将标签赋给新镜像,原镜像标签为空(悬空镜像)

    • 镜像输出为tar包:

      • docker save XXX -o name.tar

      • docker save XXX > name.tar

    • 导入镜像包:

      • docker load -i name.tar

      • cat name.tar > docker load

    • docker rmi <image_id>:删除镜像。

      注:在docker build 的过程中会出现中间镜像。中间镜像不一定会自动删除。会占用存储空间

      可以通过docker images -f dangling=true命令查找悬空的镜像。

      • docker rmi $(docker images -f "dangling=true" -q):删除悬空镜像。

      • docker build <path_to_dockerfile>:根据 Dockerfile 构建镜像。

  • 网络管理

    • docker network ls:列出 Docker 网络。

    • docker network inspect <network_id>:查看特定网络的详细信息。

  • 数据卷管理

    • docker volume ls:列出 Docker 数据卷。

    • docker volume create <volume_name>:创建数据卷。

    • docker volume inspect <volume_name>:查看数据卷的详细信息。

  • 系统管理:

    • docker info:显示 Docker 系统信息。

    • docker version:显示 Docker 版本信息。

    • docker system df:显示 Docker 使用的磁盘空间信息。

    • docker system prune:清理未使用的资源(容器、镜像、数据卷等)。

以上是一些常用的Docker指令,你可以根据具体的需求进一步了解和使用。

常见的K8S命令

本篇章主要讲述在处理pod故障时的常用命令。

  • 查看某个资源

    kubectl get {pod|node|deploy|rs} {资源名} [-o [wide|yaml|json]] [-n defalt|kube-system]
    [资源名选填,如果写上代表只获得这个资源的具体信息]
    复制
    • -o wide 代表扩展pod信息,增加了 NODE 和 IP 信息

    • -o yaml|json 代表以 yaml|json 形式展示 pod 的信息

    • -n 选填,不选表示所有 defalut namespace 下的资源

      • 例如:查看 default namespace 下的所有 hdfs 相关的 pod 资源 

        [root@tdh-01~]# kubectl get pods -o wide |grep hdfs
        复制
  • 查看默认namespace下的pod

    kubectl get pods
    复制
  • 查看某个pod的pod日志

    kubectl logs {pod名} [-f] 
    复制
    • -f:表示实时动态展示具体pod的pod日志

      # 例如:查看 podname 为 inceptor-server-inceptor1-3529736423-qh58n 的 pod 日志 
      [root@tdh-01~]# kubectl logs inceptor-server-inceptor1-3529736423-qh58n
      复制
  • 查看某个资源的详细信息

    kubectl describe {pod|node|deploy|rs} {资源名}
    复制

    该命令可以获取某个资源的具体信息,该资源可以是pod,node,deployment,replicaset等

    例如:查看 podname 为 inceptor-server-inceptor1-3529736423-qh58n 的 pod 描述信息以及事件信息 

    [root@tdh-01~]# kubectl describe pods inceptor-server-inceptor1-3529736423-qh58n
    复制
  • 删除某个资源

    kubectl delete {pod|node|deply|rs} {资源名}
    复制

    例如:删除 podname 为 inceptor-server-inceptor1-3529736423-qh58n 的 pod

    [root@tdh-01~]# kubectl delete pods inceptor-server-inceptor1-3529736423-qh58n
    复制
  • 删除所有资源(慎用慎用慎用哦)

    kubectl delete {pod|node|deply|rs} --all
    复制
  • 删除所有非Running的pod(慎用慎用慎用哦)

    for i in `kubectl get pod -o wide | grep -v Running | grep -v NAME | awk '{print$1}'`; do kubectl delete pod ${i}; done
    复制
  • 编辑某个资源(不熟悉的话不建议用哦)

    kubectl edit {pod|node|deploy|rs} {资源名}
    复制
  • 运行

    1. 运行默认namespace下的pod: 

      kubectl exec -it <pod_id> bash
      复制
    2. 运行指定namespace下的pod

      kubectl exec -it <pod_id> bash --namespace <namespace_name>
      复制