zoukankan      html  css  js  c++  java
  • kubectl管理kubernetes集群

    [root@master ~]# kubectl get nodes  查看集群节点
    NAME      STATUS    AGE
    node1     Ready     25m
    node2     Ready     19m
    [root@master ~]# kubectl version  查看版本
    Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"269f928217957e7126dc87e6adfa82242bfe5b1e", GitTreeState:"clean", BuildDate:"2017-07-03T15:31:10Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
    Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"269f928217957e7126dc87e6adfa82242bfe5b1e", GitTreeState:"clean", BuildDate:"2017-07-03T15:31:10Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
    [root@master ~]# kubectl run nginx --image=docker.io/nginx --replicas=1 --port=9000
    deployment "nginx" created
    [root@master ~]# kubectl get deployment
    NAME      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    nginx     1         1         1            0           15s
    [root@master ~]# kubectl get pods
    NAME                     READY     STATUS    RESTARTS   AGE
    nginx-2187705812-8r0h4   1/1       Running   0          1h
    [root@master ~]# kubectl get pods -o wide
    NAME                     READY     STATUS    RESTARTS   AGE       IP           NODE
    nginx-2187705812-8r0h4   1/1       Running   0          1h        10.255.4.2   node1
    想要删除一个容器的时候:

    [root@master ~]# kubectl delete pod nginx-2187705812-8r0h4
    pod "nginx-2187705812-8r0h4" deleted
    [root@master ~]# kubectl get pod
    NAME                     READY     STATUS              RESTARTS   AGE
    nginx-2187705812-6dn2r   0/1       ContainerCreating   0          4s
    删除了之后还依然有,这个是因为创建deployment的时候参数--replicas=1起作用了。想要删除的话直接删除deployment就可以了。

    [root@master ~]# kubectl delete deployment nginx
    deployment "nginx" deleted

    yaml语法:

    [root@master ~]# kubectl create -f mysql-deployment.yaml
    deployment "mysql" created
    [root@master ~]# kubectl get deployment
    NAME      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    mysql     1         1         1            1           9s
    [root@master ~]# kubectl get pods -o wide
    NAME                     READY     STATUS    RESTARTS   AGE       IP           NODE
    mysql-2261771434-r8td1   1/1       Running   0          16s       10.255.4.2   node1
    在node1上查看mysql docker实例

    [root@node1 ~]# docker ps -a
    CONTAINER ID        IMAGE                                                        COMMAND                  CREATED             STATUS                     PORTS               NAMES
    e33797549b8e        docker.io/mysql/mysql-server                                 "/entrypoint.sh my..."   4 minutes ago       Up 4 minutes (healthy)                         k8s_mysql.31ec27ee_mysql-2261771434-r8td1_default_351da1d4-f082-11e8-bbf2-000c297d60e3_089418b7

    kubectl其他参数:

    logs      取得pod中容器的log信息

    exec     在容器中执行一条命令

    cp         从容器拷出或者想容器中拷入文件

    attach    attach到一个运行的容器上

    logs

    [root@master ~]# kubectl get pod
    NAME                     READY     STATUS    RESTARTS   AGE
    mysql-2261771434-r8td1   1/1       Running   0          18m
    [root@master ~]# kubectl logs mysql-2261771434-r8td1
    [Entrypoint] MySQL Docker Image 5.7.20-1.1.2
    [Entrypoint] Initializing database
    [Entrypoint] Database initialized
    Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
    Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
    Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
    [Entrypoint] ignoring /docker-entrypoint-initdb.d/*
    [Entrypoint] Server shut down
    [Entrypoint] MySQL init process done. Ready for start up.
    [Entrypoint] Starting MySQL 5.7.20-1.1.2

    exec:
    [root@master ~]# kubectl exec mysql-2261771434-r8td1 ls
    [root@master ~]# kubectl exec -it mysql-2261771434-r8td1 bash
    bash-4.2#
    cp:
    [root@master ~]# kubectl cp mysql-2261771434-r8td1:/tmp/hosts /etc/hosts
    error: unexpected EOF

    [root@master ~]# kubectl cp --help
    Examples:
      # !!!Important Note!!!
      # Requires that the 'tar' binary is present in your container  使用kubectl cp 你的容器实例中必须有tar命令,如果没有的话就会失败
      # image.  If 'tar' is not present, 'kubectl cp' will fail.
    [root@master ~]# kubectl exec -it mysql-2261771434-r8td1 bash
    bash-4.2# yum install tar net-tools -y 

    bash-4.2# echo 'this is test' > /tmp/test.txt

    再次测试:

    拷贝出来

    [root@master ~]# kubectl cp mysql-2261771434-r8td1:/tmp/test.txt /opt/test.txt
    [root@master ~]# more /opt/test.txt
    this is test

    拷贝回去:

    [root@master ~]# echo "this is out" >> /opt/test.txt

    [root@master ~]# kubectl cp /opt/test.txt mysql-2261771434-r8td1:/tmp/test.txt

    [root@master ~]# kubectl exec -it mysql-2261771434-r8td1 bash
    bash-4.2# cat /tmp/test.txt
    this is test

    this is out

    kubectl attach:

    用户取得pod中容器的实时信息,可以持续不断实时的取出信息。类似于tail -f

  • 相关阅读:
    洛谷 P1084 [NOIP2012 提高组] 疫情控制(二分,倍增,贪心)
    洛谷 P2680 [NOIP2015 提高组] 运输计划(二分,树上查分,树上倍增,LCA)
    洛谷 P6858 深海少女与胖头鱼(期望dp)
    洛谷 P2197 【模板】nim 游戏(博弈论)
    洛谷 P1297 [国家集训队]单选错位(期望)
    洛谷 P1288 取数游戏II(博弈论)
    洛谷 P4316 绿豆蛙的归宿(期望)
    P1495 【模板】中国剩余定理(CRT)/曹冲养猪
    【模板】快速乘
    [数论学习笔记]费马小定理、欧拉函数、欧拉定理、欧拉降幂公式
  • 原文地址:https://www.cnblogs.com/winter1519/p/10015420.html
Copyright © 2011-2022 走看看