Kubernets>Pod分析

一个Pod代表集群上正在运行的一个进程。Pod是Kubernetes创建或部署的最小/最简单的基本单位。 由一个或多个容器(container)构成的>集合,作为一个整体被部署到一个单一节点。同一个 pod 中的容器共享 IP 地址、进程间通讯(IPC)、主机名以及其它资源。Pod 将底层>容器的网络和存储抽象出来,使得集群内的容器迁移更为便捷。


pod的状态

kubectl -n namespace  get pod #查看一个命名空间下所有pod和其状态

在这里插入图片描述


遇到的问题
在这里插入图片描述
可以看到一些pod的状态为ImagePullBackOff、CrashLoopBackOff、Pending

kubectl -n hummingbird describe pod mysql-hb-7c5cc54bd8-m8tmm #查看hummingbird命名空间下的pod mysql-hb-7c...的详细信息
kubectl -n hummingbird logs mysql-hb-7c5cc54bd8-m8tmm #查看指定pod的日志

可能会遇到报错:

Error from server (BadRequest): a container name must be specified for pod mysql-hb-7c5cc54bd8-m8tmm, choose one of: [mysql-hb metrics] or one of the init containers: [remove-lost-found]

这是因为 pod mysql-hb-7c5cc54bd8-m8tmm 启动了两个容器 mysql-hb metrics 和 remove-lost-found,
查看日志时需要指定查看那个容器,可通过命令 -c <container_name>指定

kubectl -n hummingbird logs -f pod/mysql-hb-7c5cc54bd8-m8tmm -c mysql-hb #查看mysql-hb日志
kubectl -n hummingbird logs -f pod/mysql-hb-7c5cc54bd8-m8tmm -c metrics #查看metrics日志

出现以下错误

2020-02-24 01:04:04+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.28-1debian9 started.
2020-02-24 01:04:04+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2020-02-24 01:04:04+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.28-1debian9 started.
2020-02-24 01:04:05+00:00 [Note] [Entrypoint]: Initializing database files
2020-02-24T01:04:05.045945Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
mysqld: Can't create/write to file '/tmp/ibxkbsPe' (Errcode: 13 - Permission denied)
2020-02-24T01:04:05.082274Z 0 [ERROR] InnoDB: Unable to create temporary file; errno: 13
2020-02-24T01:04:05.082302Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2020-02-24T01:04:05.082324Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2020-02-24T01:04:05.082333Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2020-02-24T01:04:05.082347Z 0 [ERROR] Failed to initialize builtin plugins.
2020-02-24T01:04:05.082354Z 0 [ERROR] Aborting

mysqld: Can’t create/write to file ‘/tmp/ibxkbsPe’ (Errcode: 13 - Permission denied)
无法对文件进行写入,初步推测是文件和路径的问题,参考1参考2
进一步分析发现,mysql服务没有启动,

netstat -apn | grep 3306 #没有反应
service mysql status #Unit mysql.service could not be found.找不到服务
systemctl restart mysqld.service #重启还是找不到
chkconfig --list #查看服务列表,发现是没有mysql服务的

参考解决一下试试,使用root:root用户,创建/data/mysql目录,不知道是不是要重启pod,不会重启,没有成功
参考解决一下试试,还是没有成功

kubectl -n namespace delete pods podname #删除一个pod,删除之后会被重建,只不过后缀名会不一样

发现mysql的values.yaml与77有所不同
187的values.yaml:

# Custom mysql configuration files used to override default mysql settings
configurationFiles:
  mysql_custom.cnf: |-
    [mysqld]
    innodb_buffer_pool_size=2G
    max_connections=1000
    innodb_temp_data_file_path=ibtmp1:12M:autoextend:max:5G
    innodb_file_per_table=1
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    tmpdir=/data/mysql

77的values.yaml
在这里插入图片描述
修改为一样的之后还是不行
最后

kubectl -n namespace edit deploy mysql-hb #查看服务的配置

参考文章
简书----kubelet Pod 的状态分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值