• k8s-常用命令


    k8s常用命令

     

    说明:在master上面操作

    1 删除

    kubectl delete deploy/nginx 删除镜像

     

    kubectl delete svc/nginx 删除pod

     

    2 创建

    kubectl run nginx --replicas=3 --labels="app=example" --image=nginx:1.10 --port=80

    kubectl get pods

     

    3 查看

    kubectl get ns 查看命名空间

    kubectl get all

    kubectl get deploy

    kubectl get pods -l app=example

    kubectl get pods -o wide #查看pod在那台服务器上面

    kubectl get pods --show-labels ##查看标签

     

    NAME READY STATUS RESTARTS AGE LABELS

    nginx-66d64dcdf8-7cmcb 1/1 Running 0 58m app=example,pod-template-hash=2282087894

    nginx-66d64dcdf8-d6cmj 1/1 Running 0 58m app=example,pod-template-hash=2282087894

    nginx-66d64dcdf8-tbt2c 1/1 Running 0 58m app=example,pod-template-hash=2282087894

    #####################################

    kubectl get pods -l app=example ##查看这个标签的信息

    NAME READY STATUS RESTARTS AGE

    nginx-66d64dcdf8-7cmcb 1/1 Running 0 1h

    nginx-66d64dcdf8-d6cmj 1/1 Running 0 1h

    nginx-66d64dcdf8-tbt2c 1/1 Running 0 1h

    kubectl label pod xxx app=label111 --overwirte=True 更改标签

     

    4 发布

    kubectl expose deployment nginx --port=88 --type=NodePort --target-port=80 --name=nginx-service

    查看端口

    kubectl get svc

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

    kubernetes ClusterIP 10.10.10.1 <none> 443/TCP 2d

    nginx-service NodePort 10.10.10.191 <none> 88:44935/TCP 55m

    5 故障排除

    kubectl describe po/nginx-66d64dcdf8-7cmcb 查看具体的pod详情

     

    kubectl logs nginx-66d64dcdf8-tbt2c 查看pod的日志

    kubectl logs nginx-66d64dcdf8-tbt2c -c test # 查看日志,test是容器的名字,如果一个pod里有多个容器

     

    kubectl exec -it nginx-66d64dcdf8-tbt2c bash 进入到pod里面

     

    6 更新,编辑

    kubectl set image deployment/nginx nginx=nginx:1.11 更新nginx版本

     

    kubectl edit deploy/nginx 查看版本是否更新(也可以更新版本) 编辑完之后,直接保存即可

     

    kubectl get all 先用这个查看出名字,下面的这个命令才可以使用

    kubectl describe po/nginx-56ff7b8c6d-frphs 查看具体的详细信息,包括使用版本

     

    kubectl rollout history deploy/nginx 查看历史版本

    REVISION CHANGE-CAUSE

    1 <none>

    2 <none>

    3 <none>

    4 kubectl set image deployment/nginx nginx=nginx:1.13 --record=true

     

    7 回滚

    kubectl rollout undo deployment/nginx 回滚到上一个镜像

     

    8 扩容或者删除

     

    kubectl scale deployment nginx --replicas=5   增加到5个pod
    kubectl scale deployment myapp --replicas=0  #如果是0个就是删除
    
    

     

    如果想变小改变数字即可

    9 整个流程演示

    9.1运行两个pod

    run 后面跟的是控制器的名称

    kubectl run myapp1 --replicas=2 --image=wangyanglinux/myapp:v1 --port=80

    9.2 开放端口默认是clusterip

    kubectl expose deployment myapp1 --port=30000 --target-port=80

     

    9.3 查看网络模式

     

    kubectl get svc
    NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)           AGE
    kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP           3h3m
    myapp1       NodePort    10.99.248.235   <none>        30000:32649/TCP   14m
    

     

    9.4 查看控制器

    kubectl get deployment

     

    NAME     READY   UP-TO-DATE   AVAILABLE   AGE
    myapp    0/0     0            0           34m
    myapp1   2/2     2            2           16m
    
    

     

    9.5 浏览器访问(nodeip)

    注意,如果在浏览器访问必须是nodeip类型的,如果是在node上面访问可以是clusterip,但是在master节点无法访问

     

  • 相关阅读:
    XSS
    XSS
    检查空引用
    LockInt
    Unity Shaderlab: Object Outlines 转
    git 恢复单个文件的历史版本
    烽火HG220G-U E00L2.03M2000光猫改桥接教程
    mark mem
    转 class和struct最本质的区别
    unity shader base pass and additional pass
  • 原文地址:https://www.cnblogs.com/huningfei/p/12701372.html
Copyright © 2020-2023  润新知