zoukankan      html  css  js  c++  java
  • 使用kubernetes管理包的常用命令

    常用命令是:

    ## 获取指定命名空间(rubikt)下所有的部署的服务
    kubectl.exe get deployments --namespace rubikt
    ## 获取制定命名空间(rubikt)下所有的容器
    kubectl.exe get pods --namespace rubikt
    ## 获取指定命名空间(rubikt)下所有的副本集
    kubectl.exe get replicaset --namespace rubikt
    
    ## 删除指定(dynamic-698c8f6857-7ds2s)容器
    kubectl.exe delete pod dynamic-698c8f6857-7ds2s --namespace=rubikt --grace-period=0 --force
    
    ## 删除指定(render-sample-68768d58fc)副本集
    kubectl.exe delete replicaset render-sample-68768d58fc --namespace=rubikt --grace-period=0 --force

    最近在新的k8s上部署了一套测试环境服务,简单记录一下部署心得:

    1. 使用helm将服务部署到k8s之后,有些服务起不来,或者报错 Back-off restarting failed container:

    由于容器会随着异常而销毁,所以通过日志面板可能看不出异常或者异常日志被动态刷新,要进入容器内部通过命令查看日志文件,可以发现,大部分服务出现这个问题都是因为配置有误,比如Apollo的appId写错导致拿不到配置项。

    使用命令将异常的pod删除之后,发现有些还是会不断的自动重启,这是副本集在起作用,查看所在命名空间下的所有的副本集

    $ kubectl.exe get replicaset --namespace rubikt
    NAME                       DESIRED   CURRENT   READY   AGE
    application-7dc7cb5c       1         1         1       175m
    appointment-69d89997fb     1         1         1       168m
    config-6c67cf9775          1         1         1       21m
    dynamic-676fbd4997         1         1         1       21m
    feedback-556b79d684        1         1         1       51m
    gateway-7c5f5dc7c5         1         1         1       56m
    hospital-599cdd5b89        1         1         1       3h2m
    message-77c9865b66         1         1         1       30m
    message-send-76c8d9d956    1         1         1       50m
    open-api-588b66d67f        1         1         1       27m
    open-web-5f76c45554        1         1         1       22m
    pangu-5d59b759d7           1         1         1       31d
    patient-7cc7f9b49b         1         1         1       47h
    patientorder-7495d6bb5b    1         1         1       31m
    payment-5bcd9c887b         1         1         1       33m
    price-inquiry-8dfcb85c6    1         1         1       29m
    render-sample-68768d58fc   0         0         0       32m
    render-sample-6fdb887f97   1         1         1       25s
    schedule-f7b64db9          1         1         1       49m
    user-799c49bf9c            1         1         1       54m
    wechat-7b75b75cdf          1         1         1       26m

    可以发现有些服务只设置一个实例,但是有两个副本,主要是副本指向的服务的镜像版本不一致导致的,比如render-sample有两个实例,所以需要删除低版本的服务副本(可以根据副本存活时长进行删除,删除AGE大的)

    $ kubectl.exe delete replicaset render-sample-68768d58fc --namespace=rubikt --grace-period=0 --force
    warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
    replicaset.extensions "render-sample-68768d58fc" force deleted

    配置修改好,多余的副本全部删除之后(按理副本应该是可以自动删除的,但是目前我是手动删除),容器组就清爽多了,启动的所有容器都是当下各服务的最新版:

  • 相关阅读:
    hutool工具之验证码登录
    jsp下拉框
    MyBatis错误之找不到实体类
    MybatisDay1
    JDBCUtil
    JDBC-1
    SQL学习笔记day01
    CoreJava基础面试题
    每日leetcode-数组-54. 螺旋矩阵
    每日leetcode-数组-396. 旋转函数
  • 原文地址:https://www.cnblogs.com/miaoying/p/11477023.html
Copyright © 2011-2022 走看看