美文网首页
Kubernetes 常用命令

Kubernetes 常用命令

作者: 济南打工人 | 来源:发表于2019-03-26 11:56 被阅读0次
    生成配置文件
    kubeadm config print init-defaults ClusterConfiguration >kubeadm.conf
    
    进入容器
    kubectl exec -ti -n namespace podname /bin/bash
    
    通过yaml文件创建
    kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete)
    
    kubectl apply -f xxx.yaml (创建+更新,可以重复使用)
    
    查看服务以及使用的端口
    kubectl get -n namespace svc
    
    获取镜像列表
    kubeadm config images list
    
    通过yaml文件删除:
    kubectl delete -f xxx.yaml
    
    查看单个命名空间下的deployment

    查看kube-system namespace下面的pod/svc/deployment 等等(-o wide 选项可以查看存在哪个对应的节点)

    kubectl get pod/svc/deployment -n kube-system
    
    查看所有命名空间下的deployment

    查看所有namespace下面的pod/svc/deployment等等

    kubectl get pod/svc/deployment --all-namcpaces 
    
    重启pod

    无法删除对应的应用,因为存在deployment/rc之类的副本控制器,删除pod也会重新拉起来

    kubectl get pod -n kube-system
    
    查看pod描述:
    kubectl describe pod XXX -n kube-system
    
    查看pod 日志

    如果pod有多个容器需要加-c 容器名

    kubectl logs xxx -n kube-system
    
    删除应用

    先确定是由说明创建的,再删除对应的kind:

    kubectl delete deployment xxx -n kube-system
    
    根据label删除:
    kubectl delete pod -l app=flannel -n kube-system
    
    扩容
    kubectl scale deployment spark-worker-deployment --replicas=8
    
    导出配置文件:
    导出proxy
    kubectl get ds -n kube-system -l k8s-app=kube-proxy -o yaml>kube-proxy-ds.yaml
    导出kube-dns
    kubectl get deployment -n kube-system -l k8s-app=kube-dns -o yaml >kube-dns-dp.yaml
    kubectl get services -n kube-system -l k8s-app=kube-dns -o yaml >kube-dns-services.yaml
    导出所有 configmap
    kubectl get configmap -n kube-system -o wide -o yaml > configmap.yaml
    
    复杂操作命令:
    删除kube-system 下Evicted状态的所有pod:
    
    kubectl get pods -n kube-system |grep Evicted| awk '{print $1}'|xargs kubectl delete pod  -n kube-system
    
    重启kubelet服务
    systemctl daemon-reload
    systemctl restart kubelet
    
    修改启动参数
    vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
    
    查看集群信息
    kubectl cluster-info
    
    查看各组件信息
    kubectl get componentstatuses
    
    查看kubelet进程启动参数
    ps -ef | grep kubelet
    
    查看日志:
    journalctl -u kubelet -f
    
    设为不可调度状态:
    kubectl cordon node1
    
    将pod赶到其他节点:
    kubectl drain node1
    
    解除不可调度状态
    kubectl uncordon node1
    
    master运行pod
    kubectl taint nodes master.k8s node-role.kubernetes.io/master-
    
    master不运行pod
    kubectl taint nodes master.k8s node-role.kubernetes.io/master=:NoSchedule
    
    查看所有节点标签
    kubectl get nodes --show-labels
    
    为节点添加标签
    kubectl label node <node name> <label>=<value>
    kubectl label node k8s-test1 networkSpeed=high
    
    为节点删除标签
    kubectl label node <node name> <label>-
    kueectl label node k8s-test1 role-
    
    yaml文件使用标签
    spec:
        template:
            ...
            spec:
            ...
            nodeSelector:
                 networkSpeed: "high"
    
    强制删除pod
    kubectl delete pod NAME --grace-period=0 --force
    
    获取master的join token
    kubeadm token create --print-join-command
    

    相关文章

      网友评论

          本文标题:Kubernetes 常用命令

          本文链接:https://www.haomeiwen.com/subject/ubkgvqtx.html