k8s修改pod固化方案

方案思路:
先在docker 容器级别将所需改动完成,然后commit该容器为一个新的镜像到仓库,最后在k8s ds中启用该镜像。
操作流程:
一、定位到apigateway后台docker容器,并进入

[root@hdp1 shanghaibank-hotfix]# docker ps |grep apigateway
923002acb833        63f4ed014d9b                                                                     "/bin/bash /app/run.…"   35 minutes ago      Up 35 minutes                           k8s_apigateway_apigateway-apigateway-6cchs_prophet_9f25400e-6f15-11ea-96d1-5254006a7ba9_0
21788cfe28e6        172.27.133.80:35000/gcr.io/google-containers/pause-amd64:3.1                     "/pause"                 35 minutes ago      Up 35 minutes                           k8s_POD_apigateway-apigateway-6cchs_prophet_9f25400e-6f15-11ea-96d1-5254006a7ba9_0
[root@hdp1 shanghaibank-hotfix]# docker exec -it 923002acb833 bash
[root@hdp1 app]# vim listenPaths.conf.template

进行必要的修改。此处是修改apigateway配置文件,文件最后添加的内容

location ^~ /telamon/v1/tables/export/list {
  return 200;
}
location ~ /telamon/v1/.*/download {
  default_type application/json;
  add_header Content-Type 'text/html; charset=utf-8';
  return 403 '{"message":"download is forbidden!"}';
}
location ~ /telamon/v1/.*/export {
  return 403;
}

二、docker内部操作完成,保存该容器为一个镜像(注意这时还是一个本地镜像)。然后将镜像tag并push到仓库:

[root@hdp1 shanghaibank-hotfix]# docker commit -m 'shanghaibank-guhua-test' -a 'yinyanlu' 923002acb833  apigateway4shanghaiyinhang
sha256:f407add81dcfb25497d566635c493438303d884291e3a7ca63bcb6690d541dfc
[root@hdp1 shanghaibank-hotfix]# docker tag apigateway4shanghaiyinhang 172.27.133.80:35000/env/release/3.6.0/prophet/app/apigateway.tar:shanghaiyinhang
[root@hdp1 shanghaibank-hotfix]# docker push 172.27.133.80:35000/env/release/3.6.0/prophet/app/apigateway.tar:shanghaiyinhang

三、k8s启用该镜像。这里apigateway是ds应用,进入ds进行修改:

[root@hdp3 ~]# k get ds -n prophet --show-labels=true
NAME                    DESIRED   CURRENT   READY     UP-TO-DATE   AVAILABLE   NODE SELECTOR                                 AGE       LABELS
apigateway-apigateway   3         3         3         3            3           prophet.4paradigm.com/system=true             10d       app=deploy-apigateway
nameserver              2         2         2         2            2           prophet.4paradigm.com/rtidb-nameserver=true   10d       rtidb=nameserver
tablet                  2         2         2         2            2           prophet.4paradigm.com/rtidb-tablet=true       10d       rtidb=tablet
[root@hdp3 ~]# k edit ds apigateway-apigateway -n prophet

k8s修改pod固化方案_第1张图片
保存退出,观察新pod是否拉起、是否内容文件符合预期、是否网页屏蔽了下载和导出按钮。

你可能感兴趣的:(kubernetes,kubernetes)