问题描述:docker push提示没有权限上传基础镜像至腾讯云Docker仓库。
解决方案:需要先登录远程仓库后,再进行上传。
问题描述:构建一直显示正在构建,且控制台显示空白,没有提示。
解决方案:检查Dockerfile第一行,镜像地址是否正确。
问题描述:nginx容器启动失败,在工作负载中---Deployment---wordpress---日志提示:找不到/data/logs/nginx目录
解决方案:1.修改yaml文件,找到将"- mountPath: /data/logs" 修改为"- mountPath: /data/logs/nginx",点击完成即可。
2.在新建工作负载时,nginx实例中挂载路径要填写/data/logs/nginx,子路径填写nginx。
问题描述:nginx容器启动失败,在事件中看到容器一直在不断重启。
解决方案:容器服务要已守护进程的方式启动,检查基础镜像中的/etc/nginx.conf配置文件,添加daemon off;。
问题描述:php容器启动失败,在事件中看到容器一直在不断重启。
解决方案:容器服务要已守护进程的方式启动,检查基础镜像中的/etc/php-fpm.conf的配置文件,修改daemonize=no。
问题描述:wordpress 容器服务部署成功,但是在浏览器访问php页面未更新。
解决方案:登录wordpress 容器控制台,检查php代码是否更新。
问题描述:今天在排查一个问题发现集群内节点非正常移除,被调度为not ready
,集群上的服务运行在此节点上的状态都变成了unknown
or nodelost
导致有些服务无法正常运行了。
解决方案:先将异常节点剔除了,把服务调度正常后,查看kubectl
,/var/log/syslog
(ubuntu的messages)发现一直在刷以下的报错,从错误信息可以推测到,这台计算节点存在一个孤儿Pod,并且该Pod挂载了数据卷(volume),阻碍了Kubelet对孤儿Pod正常的回收清理,所以我们要清理该孤儿pod。
通过id号,进入kubelet的目录,可以发现里面装的是容器的数据,etc-hosts
文件中还保留着podname
# cd /var/lib/kubelet/pods/86d60ee9-9fae-11e8-8cfc-525400290b20
/var/lib/kubelet/pods/86d60ee9-9fae-11e8-8cfc-525400290b20# ls
containers etc-hosts plugins volumes
/var/lib/kubelet/pods/86d60ee9-9fae-11e8-8cfc-525400290b20# cat etc-hosts
# Kubernetes-managed hosts file.
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
fe00::0 ip6-mcastprefix
fe00::1 ip6-allnodes
fe00::2 ip6-allrouters
172.16.1.180 omc-test-2509590746-mw56s
最后要删除该pod信息
# rm -rf 86d60ee9-9fae-11e8-8cfc-525400290b20
Events:
Type Reason Age From Message
Warning FailedMount 5m (x36 over lh) kubelet, 172.16.2.7 (combined from similar events): MountVolume.Setup failed for volume "runtime" : mount failed: exit status 32
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /var/lib/kubelet/pods/8b986f57-ff44-lle8-93d9-Oa587f800f51/voluines/kubernetes.io-nfs/runtime --scope -- mount -t nfs 172.16.3.6:/tspms/ts-development/
runtime /var/lib/kubelet/pods/8b986f57-ff44-lle8-93d9-Oa587f800f51/voluines/kubernetes.io-nfs/runtime
Output; Running scope as unit run-r6921855d6e6943fea742c4397f65d90e.scope._______________________________
mount.nfs: access denied by server while mounting 172.16.3.6:/tspms/ts-development/runtime
—Warning—FailedMount—12s (x36 over lh)—kubelet, 172.16.2.7—Unable to mount volumes for pod "tspms-5c97cb47bc-jzhkd_ts-development(8b986f57-ff44-lle8-93d9-Oa587f800f51)": timeout expired waiting for volumes to a
ttach or mount for pod "ts-development'7"tspms-5c97cb47bc-jzhkd".list of unmounted volumes=[runtimeJ.list of unattached volumes=[runtime default-token-wfhg7)
问题描述:挂载NFS v3版本 一定要加上fsid
nfs 挂载格式:
v4:
mount -t nfs4 vip:/ /localdir
v3:
mount -t nfs -o vers=3 vip:/fsid /localdir
解决方案:
总结来说 用v3挂载一定要加上fsid
,在本文中对应为8pw2jq8u
,具体的还得参照你cfs
中对应的fsid
mount -t nfs 172.16.3.6:/8pw2jq8u/tspms/ts-development/runtime
那么要解决真正的问题,把服务启动正常,把yaml文件中volume的path调整为含有fsid的格式。
在yaml文件的体现为:
volumes:
- name: runtime
nfs:
path: /8pw2jq8u/tspms/ts-development/runtime
server: 172.16.3.6
最后总结一点,在控制台中应该如何展示呢?其实还是一样的,在nfs ip后面加上fsid即可,fsid在cfs界面中获取。
问题描述:集群状态及日志查看命令
解决方案(命令):
//node节点状态查看
# kubectl get nodes //查看 Node 状态
# kubectl describe node 10.0.0.10 //查看 Node 节点状态,节点IP为10.0.0.10
//pod状态查看
# kubectl get pods -o wide //查看pod状态
# kubectl -n kube-system get pods -o wide //查看pod状态及运行节点
# kubectl describe pod nginx-2217866662-nhkqz //查看 Pod 事件,kubectl describe pod <pod-name>
//k8s-dns状态查看
# PODNAME=$(kubectl -n kube-system get pod -l k8s-app=kube-dns -o jsonpath='{.items[0].metadata.name}')
# kubectl -n kube-system logs $PODNAME -c kubedns
//组件日志查看
# journalctl -l -u kubelet //查看Kubelet 日志
# journalctl -l -u kube-proxy //Kube-proxy 日志
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。