文章目录
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