常用命令是:

## 获取指定命名空间(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= --force ## 删除指定(render-sample-68768d58fc)副本集
kubectl.exe delete replicaset render-sample-68768d58fc --namespace=rubikt --grace-period= --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 175m
appointment-69d89997fb 168m
config-6c67cf9775 21m
dynamic-676fbd4997 21m
feedback-556b79d684 51m
gateway-7c5f5dc7c5 56m
hospital-599cdd5b89 3h2m
message-77c9865b66 30m
message-send-76c8d9d956 50m
open-api-588b66d67f 27m
open-web-5f76c45554 22m
pangu-5d59b759d7 31d
patient-7cc7f9b49b 47h
patientorder-7495d6bb5b 31m
payment-5bcd9c887b 33m
price-inquiry-8dfcb85c6 29m
render-sample-68768d58fc 32m
render-sample-6fdb887f97 25s
schedule-f7b64db9 49m
user-799c49bf9c 54m
wechat-7b75b75cdf 26m

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

$ kubectl.exe delete replicaset render-sample-68768d58fc --namespace=rubikt --grace-period= --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

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

使用kubernetes管理包的常用命令的更多相关文章

  1. centos7 安装dnf包管理器和常用命令

    Installing DNF Currently the DNF package comes from the EPEL repository, so if your Linux system is ...

  2. ubuntu管理apt包的常用命令

    安装 apt-get install nginx #安装 apt-get install nginx --reinstall #重新安装 删除 apt-get remove nginx #卸载 apt ...

  3. sql-DCL用户及权限管理及其他常用命令-oracle

    DCL 用户管理 创建用户 create user 用户名 identified by 密码; 在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限 ...

  4. sql-DCL用户及权限管理及其他常用命令-mysql

    查看系统信息 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 SELECT now(), user(), version(); -- ...

  5. MySQL管理_数据库常用命令

    1.数据库赋权 进入mysql数据库: mysql> use mysql; 给root用户设置新密码: mysql> update user set password=password(& ...

  6. Linux磁盘管理:lvcreate 常用命令

    查看当前LV及PV信息: [root@rusky ~]# hostnamectl Static hostname: localhost.localdomain Transient hostname: ...

  7. ubuntu下包管理器apt-get常用命令

    apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package ...

  8. Docker容器管理——Docker容器常用命令

    1.查看所有的容器 docker ps 2.查看运行的容器 docker ps -a 3.启动.停止.重启docker容器 docker start ... docker stop ... docke ...

  9. Elasticsearch中的索引管理和搜索常用命令总结

    添加一个index,指定分片是3,副本是1 curl -XPUT "http://10.10.110.125:9200/test_ods" -d' { "settings ...

随机推荐

  1. CPU 测评

    PassMark - CPU MarkHigh End CPUs - Updated 22nd of March 2019 Processor CPU Mark Price (USD) Intel C ...

  2. 《 .NET并发编程实战》实战习题集 - 4 - 如何重用一次性资源

    如何重用以下一次性资源代码呢? string text; using (var stream = new StreamReader(path)) { text = stream.ReadToEnd() ...

  3. golang下载图片,而非预览

    1 前言 网上查询使用html5,a增加属性download和使用表单get,post提交,都是只能预览,根本原因是返回值需要加入头 w.Header().Add("Content-Type ...

  4. DP之背包

    一.01背包: (以下均可用一维来写 即只能选择一次的物品装在一定容积的背包中.f[i][j]表示前i件物品在容积为j时的最大价值. for(int i = 1; i <= n ;  i++){ ...

  5. Winform中实现跨窗体获取ZedGraph的ZedGraphControl控件对象

    场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  6. 【转载】C#使用typeof运算符获取对象变量的具体类型Type

    在C#的实际类型操作过程中,有时候需要通过typeof方法获取对象的类型对应的Type变量即具体类型,例如在获取DataTable中某一列的具体数据类型的时候,我们就会用到typeof方法来获取具体的 ...

  7. 使用electron在mac升级签名后进行升级出现“QRLUpdaterErrorDomain”的错误

    现在在开发electron客户端,windows签名使用了签名狗的方式进行签名(小坑:签名狗只能对打包完的exe进行签名,而electron-builder需要在打包的时候将证书配置进去,所以需要导出 ...

  8. QML MultiPointTouchArea

    MultiPointTouchArea为qml中的多点触摸提供了最基本.最重要的支持,它与TouchPoint及相关域结合,可以说是qml中多点触摸的基石. MultiPointTouchArea是不 ...

  9. android studio学习---实时布局(Live Layout)

    Android Studio中的实时布局功能允许大家在无需将应用程序运行在设备或者模拟器中的前提下,直接预览应用的用户界面.实时布局是一款极为强大的工具,能够帮助开发者节约大量时间.在实时布局的帮助下 ...

  10. android studio学习----创建模拟器

    建议在创建模拟器前把 SDK Manager 中的 Tools.Extras 都更新到最新. 如何弹出下面的各个图,首先直接点击  运行  然后会选择  launcher ,点击那个 ...就出来了 ...