• 容器K8s(Kubernetes)教程


    容器K8s(Kubernetes)

    常用命令

    • 获得节点

      kubectl get nodes
      
      • 1
    • 获取当前命名空间下的容器

      kubectl get pods
      
      • 1
    • 进入容器

    • kubectl exec -it -n application rabbitmq-86b47bb4b-z6mkj /bin/bash

      kubectl get namespace//获得所有命名空间
      kubectl get pod --all-namespaces -o wide//获得命名空间下的所有容器
      
      通过kubectl get pods查询,然后通过下面命令进入
      kubectl exec -it nas-all-0 /bin/bash
      
      //进入命名空间下的容器,application是命名空间,psqls-0是容器
      kubectl exec -it -n application psqls-0 /bin/bash
      kubectl exec -it -n application rabbitmq-86b47bb4b-d6z8n /bin/bash
      
      //拷贝内容内文件,拷贝出来
      kubectl cp -n application psqls-0:/var/lib/postgresql/data/pg_wal /home
      
      kubectl cp -n gitlab-managed-apps user-center-5f48bdd849-fxz9g:/home /home/php
      kubectl cp /home/ -n application rabbitmq-86b47bb4b-9jhd4:/var/lib/rabbitmq/
      
      //拷贝进去
      kubectl cp /home/dades/pg_wal -n application psqls-0:/var/lib/postgresql/data/pg_wal
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
    • 获得所有容器

      kubectl get all
      
      查看所有pod所属的命名空间并且查看都在哪些节点上运行
      kubectl get pod --all-namespaces -o wide
      
      # 查看node节点列表
      kubectl get node
      
      查看启动的容器
      kubectl get pod
      
      进入内部
      kubectl exec -it pod名 bash
      
      复制文件到外部
      kubectl cp :tmp/test /tmp/test
      从外部复制到内部
      kubctl cp /tmp/test :tmp/test
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
    • 创建 容器

      kubectl create -f kubernate-pvc.yaml
      
      • 1
    • 删除容器

      kubectl delete pods/test-pd  或者 kubectl delete -f rc-nginx.yaml
      
      • 1
    • 查看指定pod跑在哪个node上

      kubectl get pod /test-pd -o wide 
      
      • 1
    • 查看容器日志

      Kubectl logs nginx-8586cf59-mwwtc
      
      • 1
    • 进入容器终端命令

      kubectl exec -it nginx-8586cf59-mwwtc /bin/bash
      
      • 1
    • 一个Pod里含有多个容器 用–container or -c 参数。

      例如:假如这里有个Pod名为my-pod,这个Pod有两个容器,分别名为main-app 和 helper-app,下面的命令将打开到main-app的shell的容器里。

      kubectl exec -it my-pod --container main-app --/bin/bash
      
      • 1
    • 容器详情列表

      kubectl *describe* pod/mysql- m8rbl
      
      • 1
    • 查看容器状态

      kubectl get svc
      
      • 1
    • 可以通过 kubectl describe 命令来查看镜像版本号

      kubectl describe pods |grep Image
      
      • 1

    搭建k8s

    //永久关闭防火墙
    systemctl disable firewalld
    禁止firewall开机启动
    sytemctl disable firewalld
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看容器有没有通

    172.20.1.43容器Pod IP
    curl -kv http://172.20.1.43:8080
    
    • 1
    • 2

    查看模式

    ip也有
    使用kubectl get svc nginx-ingress-lb -n kube-system -o yaml看下流量模式是local还是cluster
    
    • 1
    • 2

    容器域名切换容器不能访问问题

    kubectl get ingress -A |grep  invoice-v2.yobohome.cn
    上面这个命令不可以,就执行下面这个命令查看,会看到域名在两个容器上
    kubectl get ingress --all-namespaces |grep  invoice-v2.yobohome.cn
    
    可以看到出现了两个路由,删除掉一个
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    数据结构-堆排序及其复杂度计算
    加密excel(Python)
    OpenSergo & Spring Cloud Alibaba 带来的服务治理能力
    进阶指针(二)
    Java项目:ssm库存管理系统
    关于#c++#的问题,请各位专家解答!
    ensp华为AC+AP上线配置
    OpenGait:首个步态识别框架开源了!
    为什么创建百科词条?百科营销的作用
    信息学奥赛一本通(c++):1839:【05NOIP提高组】谁拿了最多奖学金
  • 原文地址:https://blog.csdn.net/qq_34631220/article/details/128171992