9-2

排查容器的错误

kubectl describe pod demo1-55858c6f58-cskgq
在这里插入图片描述

实验环境清零

kubectl delete svc/deployment/configMap/pod --all
helm list
helm delete my-demo

清楚缓存以及所有未用到的镜像

docker system prune --volumes

打印容器环境变量

kubectl exec demo1-55858c6f58-cskgq printenv【其实就是linux命令,比如也可以接ls 目录名】

congfigmap挂载卷

kubectl create configmap demo-ap --from-file=application.yaml
kubectl create configmap demo-br --from-file=bootstrap.yaml

helm启动应用

helm install my-demo demo

docker

docker save -o weda-demo.tar goodshred/weda-demo:v1

重启pod

大于1.15版本直接用
kubectl rollout restart deploy

kubectl edit configmap demo-ap

configmap热更新

通过将configmap挂载到卷里面,当kubectl edit configmap,k8s会自动重启容器
kubectl describe configmap user-configmap-file
kubectl edit configmap user-configmap-file
在这里插入图片描述

linux提取第一列且删除第一行(awk函数)

如下文件所示,只想提取红框中的内容,即进行提取第一列,且去除第一行的操作
awk ‘NR == 1 {next} {print $1}’ file.txt > file_col1.txt #NR==1指的是不打印第一行,print $1指的是打印第一列

helm ls|awk 'NR == 1 {next} {print $1}' |xargs helm delete

在这里插入图片描述
在这里插入图片描述
使用docker能够拉取,但是用helm install命令,在deployment里面配置
在这里插入图片描述
感觉k8s自身有个docker客户端,它和我虚拟机安装的docker服务端-客户端并非用的一个客户端,k8s只是用到了docker的服务端,所以造成了我虚拟机docker pull本地仓库镜像ok(因为我有配置该ip+端口的白名单),但是k8s用的他的就不ok(没找到配置入口)

docker pull registry
docker run -d -p 5000:5000 --name=jackspeedregistry --restart=always --privileged=true -v /usr/local/docker_registry:/var/lib/registry docker.io/registry
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

helm调试运行

helm install --debug --dry-run demo1 demo
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐