常用命令是:

## 获取指定命名空间(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. C/C++ 随笔目录

    [1]基础部分 (1)宏定义 <assert> <offset宏> <#pragma once> <宏定义学习> <预处理语句> <# ...

  2. golang --学习笔记 运行时间计算

    package main import ( "fmt" "time" ) func main() { start := time.Now() //do some ...

  3. MySQL如何定位并优化慢查询sql

    1.如何定位并优化慢查询sql a.根据慢日志定位慢查询sql SHOW VARIABLES LIKE '%query%'      查询慢日志相关信息 slow_query_log 默认是off关闭 ...

  4. 还不错的PHP导出EXCEL函数挺好用的

    直接上函数吧 //导出 $data内容二维数组 $title各个标题 $filename表名称 function exportexcelinfo($data=array(),$title=array( ...

  5. pip 命令安装 rdbtools

    命令 pip install tdbtools 如果出现类似如下错误  Could not fetch URL https://pypi.org/simple/redis/ 说明morning的pip ...

  6. IDEA 设置: Live Templates 方法注释 注释模板编写

    IDEA: Live Templates 方法注释 注释模板编写: 打开IDEA开发工具进入设置找到Editor: File>>Setting>>Editor>>L ...

  7. 两道JVM面试题,竟让我回忆起了中学时代!

    作者:肥朝 原文链接:https://mp.weixin.qq.com/s/4wJ6ANal0blLOseasfIuVw 中学授课模式 考虑到可能有部分粉丝对JVM参数不清楚,所以我们参照中学的授课模 ...

  8. 阿里云开发工具包(SDK)

    参考: 阿里云开发工具包(SDK)For Python Alibaba Cloud SDK for Go

  9. JavaWeb 使用Session实现一次性验证码

    表单 <form action="loginServlet" method="post"> 请输入验证码:<input type=" ...

  10. 旅游景点信息API接口大全

    1.分享数据:“http://www.shareapi.cn/docs/api/id/127”,免费,次数1000次 返回JSON示例 { "SceneryID":10224,/* ...