zoukankan      html  css  js  c++  java
  • k8s 常用命令

        # 启动etcd存储服务
        service etcd start

        # 运行master
        cd /opt/kubernetes/bin
        ./apiserver.sh 192.168.220.135 http://192.168.220.135:2379
        ./scheduler.sh 192.168.220.135
        ./controller-manager.sh 192.168.220.135

        # 运行node(需要先禁用swap交换缓存,运行命令 swapoff -a)
        cd /opt/kubernetes/bin
        ./kubelet.sh 192.168.220.138 192.168.220.139 10.10.10.2
        ./proxy.sh 192.168.220.135 192.168.220.136

        # node 节点日志
        tail -f /var/log/messages

        # 查看集群状态
        kubectl get node
        kubectl get componentstatus

        # 查看集群所有信息
        kubectl get all

        # 查看nginx服务所在docke容器节点,一个服务也是一个负载均衡
        kubectl get  ep nginx

        # 命令行管理对象实例
          # 1.基于nginx镜像,创建hello-world pod
          kubectl run hello-world --replicas=1 --labels="app=example" --image=nginx:latest --port=80
          # 2.以上命令会自动创建rs,查看rs
          kubectl get rs
          kubectl describe rs rs_name
          # 3.以上命令会自动创建deployment,deployment负责管理rs和pod
          kubectl describe deploy/hello-world
          kubectl edit deploy hello-world
          # 4.声明服务
          kubectl expose deployment hello-world --port=88 --target-port=80 --name=example-service    
          kubectl get mvc

        # pod扩容
        kubectl sacle deployment --replicas=10 hello-world

        # pod删除,pod不能直接删除否则还会重新创建,需要删除pod的控制器
        kubectl delete deployment hello-world

        # pod日志实时查看
        kubectl logs -f pod/hello-world-cc85df    

        # 查看pod里面容器的日志
        kubectl logs pod-test -c hello-write

        # 查看容pod里面容器的环境变量
        exec nginx-deployment-5b4b59b4b8-ktxcx env

        # pod中镜像升级
        kubectl set image deploy/nginx-deployment nginx=nginx:1.11

        #实时观察升级发布状态:滚动升级,杀掉一个pod,升级一个pod然后再启动该pod。接着再杀掉一个pod。。。
        kubectl rollout status deployment/nginx-deployment

        #查看deployment历史修订版本
        kubectl rollout history deployment/nginx-deployment

        # docker镜像暴力删除
        rm -rf /var/lib/docker

        # 镜像加速器(docker17.05 以上版本执行)
        curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://8ca15b27.m.daocloud.io

        # 支持三种策略:
        Always:当容器终止退出后,总是重启容器,默认策略。
        OnFailure:当容器异常退出(退出状态码非0)时,才重启容器。
        Never:当容器终止退出,从不重启容器。

        # 进入pod
        kubectl exec pod-test -it bash

        # 进入pod中的容器运行命令以及排错
        kubectl exec pod-test -c hello-world -it bash

        # 替换pod
        kubectl replace -f pod.yaml --force

        # 指定命名空间查看pod
        kubectl get pods --namespace=kube-system
        
        # 创建flanneld.service
    [Unit]
    Description=flanneld overlay address etcd agent
    After=network.target
    Before=docker.service

    [Service]
    Type=notify
    ExecStart=/usr/bin/flanneld -etcd-endpoints=http://192.168.220.138:2379

    [Install]
    RequiredBy=docker.service
    WantedBy=multi-user.target
        
        # 启动flanneld 【http://time-track.cn/deploy-kubernetes-step-by-step-on-trusty-section-2.html】
        systemctl restart flanneld.service
        
        # 查看flanneld使用的网段
        cat /run/flannel/subnet.env
        
        # 让docker在自己的docker0上面使用自定义网段
        Node➜  ~ cat /etc/systemd/system/docker.service.d/docker.conf
    [Service]
    ExecStart=
    ExecStart=/usr/bin/docker daemon -H fd:// --bip=10.1.48.1/24 --mtu=1472

        # 进入容器测试
        docker run -it busybox sh
        
        # 截获本机和其他主机的通信
        tcpdump host 192.168.220.138 and 192.168.220.139
        
        # 截获主机80端口发出和接收的http数据包
        tcpdump tcp port 80 and host 192.168.220.138
        
        # 查询etcd 数据
        etcdctl ls /coreos.com/network/subnets
  • 相关阅读:
    示例页面
    HDU2149Public Sale(Bash 博弈)
    留言板
    HDU2188Bash博弈
    win7系统激活工具
    HDU1849Rabbit and Grass(Nimm博弈)
    HDU1846Brave Game(巴什博弈)
    drools原生drl规则文件的使用
    Vue element table动态生成列
    eltable动态生成列重点
  • 原文地址:https://www.cnblogs.com/rigid/p/9050333.html
Copyright © 2011-2022 走看看