1、总结描述kubectl常用命令并用实例说明。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1、总结描述kubectl常用命令并用实例说明。相关的知识,希望对你有一定的参考价值。

参考技术A 查看所有 pod 列表, -n 后跟 namespace, 查看指定的命名空间
kubectl get pod
kubectl get pod -n kube
kubectl get pod -o wide

查看 RC 和 service 列表, -o wide 查看详细信息
kubectl get rc,svc
kubectl get pod,svc -o wide
kubectl get pod <pod-name> -o yaml

显示 Node 的详细信息
kubectl describe node 192.168.0.212

显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志
kubectl describe pod <pod-name>
eg:
kubectl describe pod redis-master-tqds9

根据 yaml 创建资源, apply 可以重复执行,create 不行
kubectl create -f pod.yaml
kubectl apply -f pod.yaml

基于 pod.yaml 定义的名称删除 pod
kubectl delete -f pod.yaml

删除所有包含某个 label 的pod 和 service
kubectl delete pod,svc -l name=<label-name>

删除所有 Pod
kubectl delete pod --all

查看 endpoint 列表
kubectl get endpoints

执行 pod 的 date 命令
kubectl exec <pod-name> -- date
kubectl exec <pod-name> -- bash
kubectl exec <pod-name> -- ping 10.24.51.9

通过bash获得 pod 中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> -- bash
eg:
kubectl exec -it redis-master-cln81 -- bash

查看容器的日志
kubectl logs <pod-name>
kubectl logs -f <pod-name> 实时查看日志
kubectl log <pod-name> -c <container_name> 若 pod 只有一个容器,可以不加 -c

查看注释
kubectl explain pod
kubectl explain pod.apiVersion

查看节点 labels
kubectl get node --show-labels

总结Linux常用命令使用格式,并用实例说明

echo

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。
语法
echo(选项)(参数)
选项
-e:激活转义字符。
 使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
a 发出警告声;
 删除前一个字符;
c 最后不加上换行符号;
f 换行但光标仍旧停留在原来的位置;
换行且光标移至行首;
光标移至行首,但不换行;
插入tab;
v 与f相同;
插入字符;
nn 插入nnn(八进制)所代表的ASCII字符;
实例

echo “hello world”显示普通字符串

[root@localhost ~]# echo “hello world”
“hello world”
echo -n “hello world” :-n 不换行

[root@localhost ~]# echo -n “hello world”
“hello world”[root@localhost ~]#
echo -e "hello world": 换行

[root@localhost ~]#echo -e "hello world"
hello
world
echo -e "hello world" : 水平制表符

[root@localhost ~]# echo -e "hello world"
hello world
echo -e "hello world"  退格

[root@localhost ~]# echo -e "hello world"

技术图片

screen命令

一、screen命令
Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
1.1 回复会话
只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。

1.2 多窗口
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。 会话共享 Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

语法
screen [-AmRvx -ls -wipe][-d &lt;作业名称&gt;][-h &lt;行数&gt;][-r &lt;作业名称&gt;][-s ][-S &lt;作业名称&gt;]

1.4 选项
选项 描述
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或–list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。

技术图片

screen -S yourname -&gt; 新建一个叫yourname的session<br/>screen -ls -&gt; 列出当前所有的session<br/>screen -r yourname -&gt; 回到yourname这个session<br/>screen -d yourname -&gt; 远程detach(暂时中断)某个session<br/>screen -d -r yourname -&gt; 暂时中断当前session并回到yourname这个session

4、在Session下,使用ctrl+a(C-a)
C-a ? -&gt; 显示所有键绑定信息<br/>C-a c -&gt; 创建一个新的运行shell的窗口并切换到该窗口<br/>C-a n -&gt; Next,切换到下一个 window <br/>C-a p -&gt; Previous,切换到前一个 window <br/>C-a 0..9 -&gt; 切换到第 0..9 个 window<br/>Ctrl+a [Space] -&gt; 由视窗0循序切换到视窗9<br/>C-a C-a -&gt; 在两个最近使用的 window 间切换 <br/>C-a x -&gt; 锁住当前的 window,需用用户密码解锁<br/>C-a d -&gt; detach,暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态,此时在 screen session 里,每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。 <br/>C-a z -&gt; 把当前session放到后台执行,用 shell 的 fg 命令则可回去。<br/>C-a w -&gt; 显示所有窗口列表<br/>C-a t -&gt; time,显示当前时间,和系统的 load <br/>C-a k -&gt; kill window,强行关闭当前的 window<br/>C-a [ -&gt; 进入 copy mode,在 copy mode 下可以回滚、搜索、复制就像用使用 vi 一样<br/>C-b Backward,PageUp <br/>C-f Forward,PageDown <br/>H(大写) High,将光标移至左上角 <br/>L Low,将光标移至左下角 <br/>0 移到行首 <br/>$ 行末 <br/>w forward one word,以字为单位往前移 <br/>b backward one word,以字为单位往后移 <br/>Space 第一次按为标记区起点,第二次按为终点 <br/>Esc 结束 copy mode <br/>C-a ] -&gt; paste,把刚刚在 copy mode 选定的内容贴上

创建会话
screen -dmS session_name

展示全部会话
screen -ls
技术图片

强制关闭会话
screen -S pid -X quit
screen -S 7927 -X quit
技术图片

date 命令

date

date
date命令是显示或设置系统时间与日期。

很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。

语法

date(选项)(参数)

选项

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
--help:在线帮助;
--version:显示版本信息。
参数

<+时间日期格式>:指定显示时使用的日期时间格式。

日期格式字符串列表

%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)
%Y 显示完整的年

不带参数输出

[root@localhost ~]# date
Mon Mar 5 09:44:58 CST 2018
格式化输出

[root@localhost ~]# date +"%y-%m-%d"
18-03-05
输出昨天日期

[root@localhost ~]# date -d "1 day ago" +"%y-%m-%d"
18-03-04
普通格式转换

[root@localhost ~]# date -d "2018-3-4" +"%Y-%m-%d %H:%M:%S"
2018-03-04 00:00:00
date +%Y%m%d //显示前天年月日

设定时间

  date -s //设置当前时间,只有root权限才能设置,其他只能查看
  date -s 20120523 //设置成20120523,这样会把具体时间设置成空00:00:00
  date -s 01:01:01 //设置具体时间,不会对日期做更改
  date -s "01:01:01 2012-05-23" //这样可以设置全部时间
  date -s "01:01:01 20120523" //这样可以设置全部时间
  date -s "2012-05-23 01:01:01" //这样可以设置全部时间
  date -s "20120523 01:01:01" //这样可以设置全部时间

技术图片
[root@localhost ~]# date -s "2018-3-5 12:12:12"
Mon Mar 5 12:12:12 CST 2018
1.date? ? ? ? ? ? ? ? ? ? ? ? //查看本地<br/>2.hwclock --show? ? ? ? ? ? ? ? ? //查看硬件的时间<br/>3.如果硬件的时间是对不上,那就对硬件的时间进行修改、<br/>4.hwclock --set --date ‘2016-01-08? 15:15:15‘? ? //设置硬件时间<br/>5.hwclock? --hctosys? ? ? ? ? ? ? ? //设置系统时间和硬件时间同步<br/>6.clock -w? ? ? ? ? ? ? ? ? ? ? ? //保存时钟

技术图片

ifconfig

ifconfig 配置网络端口的方法:

ifconfig 工具配置网络接口的方法是通过指令的参数来达到目的的,我们只说最常用的参数;
ifconfig 网络端口 IP地址 hw <HW> MAC地址 netmask 掩码地址 broadcast 广播地址 [up/down]

配置网卡的IP地址

ifconfig eth0 192.168.0.1 netmask 255.255.255.0

在eth0上配置上192.168.0.1 的IP地址及24位掩码。若想再在eth0上在配置一个192.168.1.1/24 的IP地址怎么办?用下面的命令

ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0

这时再用ifconifg命令查看,就可以看到两个网卡的信息了,分别为:eth0和eth0:0。若还想再增加IP,那网卡的命名就接着是:eth0:1、eth0:2...想要几个就填几个。ok!

技术图片

export
-f:代表[变量名称]中为函数名称。
-n:删除指定的变量。实际上并未删除,只是不会输出到后续指令的执行环境中。
-p:列出所有的shell赋予程序的环境变量。

export -p //列出当前的环境变量值
export MYENV //定义环境变量
export JAVA_HOME
定义环境变量赋值

export JAVA_HOME=value
export JAVA_HOME=/home/duhui/java/jdk1.8.0_191

以上是关于1、总结描述kubectl常用命令并用实例说明。的主要内容,如果未能解决你的问题,请参考以下文章

K8s kubectl 常用命令总结,建议收藏!

kubectl常用命令总结

k8s kubectl常用命令总结

Kubectl 常用命令大全

第一周

kubectl 常用命令总结