工作中常用的开发调试命令
k8s:
kubectl get pod -o wide |grep lic |grep smf
kubectl l
kubectl get pod (smf ***) -o yaml
kubectl get -n ns7 svc|grep smf
vim vdos-etcd.yaml | vdos-server.yaml //更新yaml文件
kubectl -n ns13 create -f vdos-etcd.yaml |vdos-server.yaml //添 加命名空间
kubectl get pod -n ns7 | grep oam | awk '{print $1}' | xargs kubectl delete pod -n ns7 //重启所有服务
kubectl delete namespace ns1 //删除命名空间
kubectl -n ns13 get service -o wide |grep smf //查看service IP --记得加命名空间
kubectl get pods `kubectl get pod |grep amf-lb | awk '{print $1}'` -o yaml //看yaml文件具体信息
kubectl get svc | grep amf -- telenet //看amf的状态--名字
kubectl get pod -o wide | grep amf //看本机amf的地址--服务
kubectl logs `kubectl get pod |grep smf-upm | awk '{print $1}'`
docker:
docker cp smf_wk docker-ip:/addr/smf_wk
docker logs ID(docker ps |grep smf)
docker restart
1. docker ps | grep smf //查找smf进程所在的docker号。
2. docker exec -it 0c9bb6bdba3a /bin/bash //在运行的容器中执行命令
3. docker cp /home/smf_wk 0c9bb6bdba3a:/5gc/smf/bin/sm_wk //替换,注意chmod 0777 改为可执行
4. addr2line -e smf_wk 0x82fd60 // 直接哪行error smf_wk为docke人名称; 0x82fd60为docker日志显示断开地点
5. docker logs --since 25m 0c9bb6bdba3a --tail 1000 -f //--看打印
docker commit 4a03f27c40b1【dockerid】 repository.bb.com:12184/5gc/smf_wk:V1.0.06.000 // V1.0.06.000 = 【docker image】第一行
docker push repository.bb.com:12184/5gc/smf_wk:V1.0.06.000ker
容器内部Telnet
docker Telnet (kubectl service IP);
1.docker ps |grep upfd
2.docker exec -it id /bin/bash
3.ps -aux
4.gdb attach id
5.c
// UPF
docker ps | grep upfm
ea6ab9ac4e5d repository.bb.com:12184/5gc/upfm "/5gc/upfm/bin/upfm" 6 hours ago Up 5 hours k8s_upfm-34_upfm-34-667d4cc9d-h2nvc_ns29_a6a54bce-5062-45e8-83f6-34f4f821e1b3_0
41bb14976928 registry.aliyuncs.com/google_containers/pause:3.2 "/pause" 6 hours ago Up 6 hours k8s_POD_upfm-34-667d4cc9d-h2nvc_ns29_a6a54bce-5062-45e8-83f6-34f4f821e1b3_0
docker exex -it ea6ab9ac4e5d bash
docker ps |grep upf
docker exec -it upfd的容器号 /bin/sh
netstat -apn |grep 37100 // 查看端口
netstat -apn |grep 8080
dpdk 和 nodpdk -prepare
kubectl get pods `kubectl get pod |grep amf-lb | awk '{print $1}'` -o yaml //看yaml文件具体信息
kubectl get svc | grep amf -- telenet //看amf的状态--名字
kubectl get pod -o wide | grep amf //看本机amf的地址--服务
kubectl logs `kubectl get pod |grep smf-upm | awk '{print $1}'`
/***** UPF学习 ********
vpp里面抓包
1. telnet 0 5002
2. pcap dispatch trace on max 10000 file v4v6.pcap
3. pcap dispatch trace off
N3 口是gtp, N6口 ping包是 icmp
upf与基站相连·
telnet 0 5002 //在这里面ping
show interface addr //查看upf是否起来
更换upf版本
1.将gtpu_plugin.so复制到upf部署节点下的home路径下
2.chmod +x gtpu_plugin.so
3.docker ps |grep upfd
4.docker cp gtpu_plugin.so f546d95a57a5:/5gc/upfd/lib/vpp_plugins+
docker cp gtpu_plugin.so $(docker ps | grep upfd|grep startup| awk '{print $1}'):/5gc/upfd/lib/vpp_plugins
//查询upf配置
telnet localhost 5002 //查询upf配置
show interface addr //显示接口地址
5.docker restart f546d95a57a5
//抓包copy到环境上
scp 20210104ausi3.pcap 172.31.7.40:/home
//upf拉gdb
1.docker ps |grep upfd
2.docker exec -it id bash
3.ps -aux
4.gdb attach 23
5.c
//upf问题定位
1.拉起来gdb
2.vpp里面 ping 130.160.100.166
ping 172.20.7.221
3.灌包
***********************/