• k8s常用命令


    kubectl get nodes
    kubectl get nodes -o wide
    kubectl get pods -o wide
    kubectl get pod,svc
    kubectl get nodes 
    kubectl get node
    kubectl get no
    kubectl get nodes k8s-node01
    kubectl --help
    kubectl get --help
    kubectl help get
    kubectl get pod,svc
    kubectl get nodes
    kubectl get cs
    systemctl restart kubelet.service
    kubectl help create
    kubectl api-versions 
    kubectl api-resources 
    kubectl create deployment web --image=nginx -o yaml --dry-run
    kubectl create deployment web --image=nginx -o yaml --dry-run > my1.yml  # 生成yaml文件,不运行应用
    kubectl get deployments.apps
    kubectl get deployments.apps nginx -o yaml  > my2.yml # 对已存在的deployment,使用命令来生成yaml文件
    kubectl describe nodes k8s-master | grep taint # 查看污点属性
    kubectl scale deployment nginx --replicas=5 # 弹性伸缩为5副本
    kubectl delete deployments.apps nginx  # 删除deployment
    kubectl taint node k8s-node01 env_role=prod:NoSchedule # 给节点加了污点的属性:NoSchedule
    kubectl describe nodes k8s-node01 | grep -i taint # 查看节点的污点属性
    kubectl create deployment nginx --image=nginx # 快速发放一个deployment类型的应用
    kubectl taint node k8s-node01 env_role=prod:NoSchedule- # 清除节点的污点属性
    source /usr/share/bash-completion/bash_completion # 设置kubectl的自动补全
    source <(kubectl completion bash) # 设置kubectl的自动补全
    kubectl expose deployment nginx --port=80 --type=NodePort # 通过node的端口来暴露pod应用的端口
    kubectl expose deployment nginx --port=80 --type=NodePort --target-port=80 --name=web1 -o yaml > web1.yml # 生成暴露pod端口的yaml文件
    kubectl apply -f web1.yml # 暴露pod的端口
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml # 生成flannel网络容器,使用k8s集群的节点能够通过pod网络互通
    kubectl get pods -n kube-system -o wide # 查看指定命名空间下的容器
    kubectl set image deployment nginx nginx=nginx:1.15 # 升级版本
    kubectl rollout status deployment nginx # 查看升级是否成功
    kubectl rollout history deployment nginx # 查看升级的历史
    kubectl rollout undo deployment nginx # 回滚到上一个版本
    kubectl rollout undo deployment nginx --to-revision=3 # 回滚到指定的版本
    kubectl expose deployment nginx --port=80 --target-port=80 --dry-run  -o yaml > service.yml # 生成clusterIP(集群内部进行访问)的service类型的yaml文件
    kubectl create service clusterip nginx --clusterip="None" --dry-run -o yaml --tcp=80  > service2.yml # 生成无头service的yaml文件
    kubectl exec -it nginx-ds-8j2ml bash # 进入pod中
    kubectl create job pi --image=perl --dry-run -o yaml > job.yml # 生成job的yml文件
    kubectl logs pi-qc8d5 # 查看Pod生成过程中产生的日志
    kubectl delete -f job.yml # 删除对应的job
    kubectl create cronjob hello --image=busybox --restart=OnFailure --dry-run -o yaml --schedule="*/1 * * * *" -- /bin/sh -c "date; echo Hello from the kubernets cluster" > cronjob.yml #生成cronjob的yaml文件
    kubectl delete cronjobs.batch hello # 删除生成的cronjob
    kubectl create secret generic my-secret --from-literal=username=admin --from-literal=password=123456 --dry-run -o yaml > secret.yml # 创建secret的yaml文件方法1
    echo -n admin > ./username
    echo -n 123456 > ./password
    kubectl create secret generic my-secret --from-file=./username --from-file=./password # 创建secret的yaml文件方法2
    cat > env.txt <<EOF
    username=admin
    password=123456
    EOF
    kubectl create secret  generic my-secret --from-env-file=env2.txt --dry-run -o yaml > secret3.yml # 创建secret的yaml文件方法3
    kubectl edit secrets my-secret # 查看secret的值
    cat > logging.conf << EOF
    class: loggin.handlers.RotatingFileHandler
    formatter: precise
    level: INFO
    filename: %hostname-%timestamp.log
    EOF
    kubectl create configmap my-configmap --from-file=logging.conf --dry-run -o yaml > configmap.yml # 创建configmap的yaml文件的方法
    cat > env-configmap.txt << EOF
    config1=admin
    config2=123456
    EOF
    kubectl create configmap my-configmap1 --from-env-file=env-configmap.txt --dry-run -o yaml > env-configmap.yml # 创建env使用形式的configmap的yaml的方法
    helm repo add stable http://mirror.azure.cn/kubernetes/charts # 添加微软仓库
    helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts # 添加阿里云的仓库
    helm repo list # 查看heml所管理的仓库
    helm repo update # 更新仓库
    helm repo remove aliyun # 删除阿里云的仓库
    helm install ui stable/weave-scope # helm安装weave-scope
    helm list # 查看已安装的项目
    helm status ui # 查看已安装的项目的状态
    kubectl edit svc ui-weave-scope # 可以直接修改已运行pods的配置yaml文件
    helm install nginx mychart/ # 通过自定义的chart来安装应用
    helm upgrade nginx mychart/ # 通过helm来更新安装的应用版本
    kubectl patch pv my-pv -p '{"metadata":{"finalizers":null}}' # 直接删除k8s中的pv记录,强制删除
    kubectl taint node k8s-master node-role.kubernetes.io/master- # 将k8s-master节点作为node来使用
    kubectl taint node k8s-master node-role.kubernetes.io/master="":NoSchedule # 将k8s-master节点恢复为master-only的状态
    kubectl label node k8s-node01 disktype=ssd # 给k8s-node节点打标签
    kubectl get node --show-labels # 查看k8s-node节点的标签
    kubectl label node k8s-node1 disktype- # 删除节点的label
    kubectl get daemonsets.apps node-exporter -n kube-system -o yaml # 获取已运行的daemonsets的yaml文件
    
  • 相关阅读:
    vue---mixins的用法
    vue---slot,slot-scoped,以及2.6版本之后插槽的用法
    Java实现DDD中UnitOfWork
    redis基础及redis特殊场景使用描述
    网易一千零一夜 读后初感
    产品经理与众不同的思维方式与“职业病”——《人人都是产品经理》
    【Ubuntu14】Nginx+PHP5+Mysql记录
    A标签/按钮防止重复提交&页面Loading制作
    PHPCMS v9 二次开发_验证码结合Session开发
    eclipse 编码设置【转】
  • 原文地址:https://www.cnblogs.com/Richardo-M-Q/p/14109777.html
Copyright © 2020-2023  润新知