Category: Life

  • k8s 铲掉重来

    kubespray 安装的 k8s 在 dev 环境经常要把 kubernetes 删干净重来。清理方式和安装习惯有关系,只记录 kubespray 安装习惯的清理操作。

    kubespray + CentOS7

    systemctl stop etcd
    systemctl stop kubelet
    

    清理所有 docker

    docker stop `docker ps -a -q`
    docker rm `docker ps -a -q`
    docker rmi `docker images -a -q`
    

    停止 docker

    systemctl stop docker
    

    查看依赖的文件,逐个清理

    cat /etc/systemd/system/etcd.service
    cat /etc/systemd/system/docker.service
    cat /etc/systemd/system/kubelet.service
    
    rm -rf /var/lib/etcd
    rm -f /etc/etcd.env
    rm -rf /etc/ssl/etcd/
    rm -rf /usr/local/bin/etcd*
    rm -rf /etc/cni
    rm -rf /etc/kubernetes
    rm -rf /var/lib/kubelet
    rm -rf /usr/local/bin/kube*
    rm -rf /root/.kube
    df -h | grep /var/lib/kubelet/pods | awk '{print $NF}' | xargs umount
    
  • chrome 显示 url scheme

    在设置页

    chrome://flags/#omnibox-ui-hide-steady-state-url-scheme
    

    设置为 disabled

  • kubernetes笔记

    最好不要越过 RC 直接创建 Pod, 通过 RC 管理 Pod,实现自动创建、补足、替换、删除 Pod,减少由于节点崩溃等意外造成的损失。

  • mitmproxy 抓包分析

    mitm.it

    https://mitmproxy.org/

  • glusterfs

    gluster volume info

  • vim + ctags

    用 vim 写 python golang javascript 都需要跳转

    brew install ctags

    查看 ctags 支持的版本

    ctags --list-languages

    cat ~/.ctags

    --langdef=Go
    --langmap=Go:.go
    --regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/d,func/
    --regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,var/
    --regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/d,type/
    --exclude=vendor
    
    --exclude=build
    --exclude=node_modules
    --exclude=dist
    --exclude=venv
    --exclude=*.sql
    
    --langdef=less
    --langmap=less:.less
    --regex-less=/^[ t]*.([A-Za-z0-9_-]+)/1/c,class,classes/
    --regex-less=/^[ t]*#([A-Za-z0-9_-]+)/1/i,id,ids/
    --regex-less=/^[ t]*(([A-Za-z0-9_-]+[ tn,]+)+){/1/t,tag,tags/
    --regex-less=/^[ t]*@medias+([A-Za-z0-9_-]+)/1/m,media,medias/
    
    --langdef=js
    --langmap=js:.js.vue
    --regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*\{/\5/,object/
    --regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*(=|:)[ \t]*function[ \t]*\(/\5/,function/
    --regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*\[/\5/,array/
    --regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*[^"]'[^']*/\5/,string/
    --regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*(true|false)/\5/,boolean/
    --regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*[0-9]+/\5/,number/
    --regex-js=/(,|(;|^)[ \t]*(var|let|([A-Za-z_$][A-Za-z0-9_$.]+\.)*))[ \t]*([A-Za-z0-9_$]+)[ \t]*=[ \t]*.+([,;=]|$)/\5/,variable/
    --regex-js=/(gulp\.task)/\1/,task/