k8s+docker

文章目录

  • 9-2
    • 排查容器的错误
    • 实验环境清零
    • 清楚缓存以及所有未用到的镜像
    • 打印容器环境变量
    • congfigmap挂载卷
    • helm启动应用
    • docker
  • 重启pod
  • configmap热更新
  • linux提取第一列且删除第一行(awk函数)
  • helm调试运行

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
k8s+docker_第1张图片

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

k8s+docker_第2张图片
k8s+docker_第3张图片
使用docker能够拉取,但是用helm install命令,在deployment里面配置
k8s+docker_第4张图片
感觉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
k8s+docker_第5张图片

k8s+docker_第6张图片
k8s+docker_第7张图片

helm调试运行

helm install --debug --dry-run demo1 demo
k8s+docker_第8张图片
k8s+docker_第9张图片
k8s+docker_第10张图片
k8s+docker_第11张图片

你可能感兴趣的:(docker,linux)