• K8s常用命令操作


    K8s常用命令操作
    一、kubectl命令补全
    1、master安装命令补全,并临时生效
    yum install -y bash-completion
    source /usr/share/bash-completion/bash_completion
    2、永久生效
    source <(kubectl completion bash)
    echo "source <(kubectl completion bash)" >> ~/.bashrc
    
    二、master相关组件
    kube-apiserver   kube-controller-manager   kube-scheduler
    
    三、worker节点组件
    kube-proxy   Docker  kubelet
    
    四、kubectl 常用命令操作
    1、帮助信息  kubectl -h 查看具体操作参数
    
    2、查看类命令
    获取节点相应服务的信息kubectl get nodes ;kubectl get pods
    按selector名来查找pod :kubectl get pod --selector name=redis
    查看集群信息:kubectl cluster-info
    查看各组件信息:kubectl -s http://localhost:8080 get componentstatuses
    查看pods所在的运行节点:kubectl get pods -o wide
    查看pods定义的详细信息:kubectl get pods -o yaml
    查看运行的pod的环境变量:kubectl exec pod名 env
    查看指定pod的日志:kubectl logs -f pods/heapster-xxxxx -n kube-system
    查看pod:kubectl get pods --namespace kube-system
    查看svc:kubectl get svc -n kube-system
    查看 服务分配到了哪个pod上:kubectl get pod -o wide -n kube-system
    获取ingress的host名字:kubectl get ing -n kube-system
    在容器外查看k8s容器内部文件
    kubectl exec -it jenkins-cd8d886f9-jg7bv cat /var/jenkins_home/secrets/initialAdminPassword
    73bbc8f776d141c982da7919006f0785
    
    3、操作类命令
    创建资源:kubectl create -f 文件名.yaml
    重建资源:kubectl replace -f 文件名  [--force]
    删除资源
    kubectl delete -f 文件名;kubectl delete pod pod名
    kubectl delete rc rc名;kubectl delete service service名;kubectl delete pod --all
    强制删除
    kubectl delete pod coredns-65f84dd9fc-57p42 -n kube-system --grace-period=0 --force
    
    五、kubectl进阶命令操作
    1、kubectl get:获取指定资源的基本信息
    kubectl get services kubernetes-dashboard -n kube-system #查看所有service
    kubectl get deployment kubernetes-dashboard -n kube-system #查看所有发布
    kubectl get pods --all-namespaces #查看所有pod
    kubectl get pods -o wide --all-namespaces #查看所有pod的IP及节点
    kubectl get pods -n kube-system | grep dashboard
    kubectl get nodes -lzone #获取zone的节点
    
    2、kubectl describe:查看指定资源详细描述信息
    kubectl describe service/kubernetes-dashboard --namespace="kube-system"
    kubectl describe pods/kubernetes-dashboard-349859023-g6q8c --namespace="kube-system" #指定类型查看
    kubectl describe pod nginx-772ai #查看pod详细信息
    
    3、kubectl scale:动态伸缩
    kubectl scale rc nginx --replicas=5 # 动态伸缩
    kubectl scale deployment redis-slave --replicas=5 #动态伸缩
    kubectl scale --replicas=2 -f redis-slave-deployment.yaml #动态伸缩
    
    4、kubectl exec:进入pod启动的容器
    kubectl exec -it redis-master-1033017107-q47hh /bin/bash #进入容器
    
    5、kubectl label:添加label值
    kubectl label nodes node1 zone=north #增加节点lable值 spec.nodeSelector: zone: north #指定pod在哪个节点
    kubectl label pod redis-master-1033017107-q47hh role=master #增加lable值 [key]=[value]
    kubectl label pod redis-master-1033017107-q47hh role- #删除lable值
    kubectl label pod redis-master-1033017107-q47hh role=backend --overwrite #修改lable值
    
    6、kubectl rolling-update:滚动升级
    kubectl rolling-update redis-master -f redis-master-controller-v2.yaml #配置文件滚动升级
    kubectl rolling-update redis-master --image=redis-master:2.0 #命令升级
    kubectl rolling-update redis-master --image=redis-master:1.0 --rollback #pod版本回滚
    
    六、etcdctl 常用操作
    etcdctl cluster-health #检查网络集群健康状态
    etcdctl --endpoints=https://192.168.71.221:2379 cluster-health #带有安全认证检查网络集群健康状态
    etcdctl member list
    etcdctl set /k8s/network/config '{ "Network": "10.1.0.0/16" }'
    etcdctl get /k8s/network/config
  • 相关阅读:
    22个免费和高级WordPress的滑块插件
    asp.net mvc 4.0的部署
    苹果公布2011年度最佳iOS应用
    18 个 jQuery Mobile 开发贴士和教程
    给asp.net mvc小白扫盲用的
    JM8.6中的MV计算及上层块预测方法
    CAVLC算法解析
    JM8.6中的关于写比特流的问题
    JM8.6中对cofAC及相关数组的探讨
    JM8.6中三个RDCost函数的对比分析
  • 原文地址:https://www.cnblogs.com/effortsing/p/10405240.html
Copyright © 2020-2023  润新知