OpsDaiLou 发布的文章

可以通过iw命令查看当前无线网卡连接状态,获取连接wifi的MAC地址BSSID,也可以扫描附近的无线网络,获取附近的无线网络信息。

如果没有iw命令,可以通过以下命令安装

# Ubuntu下安装iw
sudo apt install iw

操作示例:

iw dev wlxc83a35xxxxx link 查看当前无线网卡连接状态

iw dev wlxc83a35xxxxx scan 扫描附近的无线网络

- 阅读剩余部分 -

若想要在Ansible Playbook使用{{ }},需要使用{{ '{{' }} {{ '}}' }}这样的方式进行转换,才能够正常使用

示例

通过 --format 获取docker容器的信息命令

# 通过docker inspect --format 获取指定的容器信息
# 通过column -t格式化列显示
docker inspect --format='Name:{{.Name}} RestartPolicy:{{.HostConfig.RestartPolicy.Name}} MaximumRetryCount:{{.HostConfig.RestartPolicy.MaximumRetryCount}}' $(docker ps -q)| column -t

在ansible playbook中使用,需要对 {{ }} 进行转义

- name: check docker RestartPolicy
  remote_user: dev
  hosts: test_docker_host
  gather_facts: False
  tasks:
    - name: get 输出信息到本地
      shell: "docker inspect --format='Name:{{ '{{' }}.Name{{ '}}' }} RestartPolicy:{{ '{{' }}.HostConfig.RestartPolicy.Name{{ '}}' }} MaximumRetryCount:{{ '{{' }}.HostConfig.RestartPolicy.MaximumRetryCount{{ '}}' }}' $(docker ps -q)| column -t > /tmp/docker_restartpolicy.txt"

有的时候,由于网络原因,国内无法获取某些镜像

比如获取k8s.gcr.io/metrics-server/metrics-server:v0.5.2镜像,有如下报错:

~$ docker pull k8s.gcr.io/metrics-server/metrics-server:v0.5.2
Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

这里提供两种解决方法:

1.通过配置代理拉取镜像

2.通过其它镜像仓库获取镜像

- 阅读剩余部分 -

有时候会针对某一个docker容器抓包,排查网络问题。就需要知道宿主机上的哪个虚拟网卡对应容器,可以通过以下方式查看。

示例:

test-container 容器抓包,具体操作

1.进入容器查看iflink

swift@xxx-001:~$ docker exec -it test-container bash
[root@384a71d00b2b sonatype]# cat /sys/class/net/eth0/iflink
9

2.宿主机查看对应虚拟网卡

swift@xxx-001:~$ ip link |grep 9
    link/ether 02:42:89:df:3d:4e brd ff:ff:ff:ff:ff:ff
    link/ether 8a:7d:fa:d0:96:39 brd ff:ff:ff:ff:ff:ff link-netnsid 3
9: vethadfe873@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP mode DEFAULT group default
    link/ether da:90:0e:5d:04:af brd ff:ff:ff:ff:ff:ff link-netnsid 2
    link/ether f6:b8:43:09:0b:7d brd ff:ff:ff:ff:ff:ff link-netnsid 0
    link/ether ce:8c:08:d1:86:9e brd ff:ff:ff:ff:ff:ff
    link/ether 32:ce:9e:82:e2:0d brd ff:ff:ff:ff:ff:ff
    link/ether b2:2c:9b:3b:25:de brd ff:ff:ff:ff:ff:ff link-netnsid 4

可以看到宿主机上的 vethadfe873 该虚拟网卡对应 test-container 容器

3.接下来就可以根据该虚拟网卡进行抓包操作

swift@xxx-001:~$ sudo tcpdump -i vethadfe873 -n