kubernetes -- helm charts 开发: 6、 调试容器中python项目源码

本文以ceilometer-api为例,详细介绍了如何在Kubernetes中调试Python项目源码。首先,通过修改容器启动方式,将启动命令改为`sleep 3d`以暂停服务。接着,使用`kubectl cp`将待调试文件拷贝到容器内。然后,通过`kubectl exec`进入容器并定位到源码,添加`pdb.set_trace()`进行调试。最后,手动启动服务并进行源码调试。
摘要由CSDN通过智能技术生成

以ceilometer-api为例,介绍调试的整个过程


1 修改容器的启动方式


将直接启动容器的方式改为不启动,自己进入容器后手动执行命令启动容器
以ceilometer-api为例,修改ceilometer-api这个deployment,具体执行如下命令:
先备份ceilometer-api这个deployment,即执行如下命令:
kubectl get deploy -n openstack ceilometer-api -oyaml > ceilometer-api.yaml

然后修改ceilomeyer-api的启动方式:
kubectl edit deploy -n openstack ceilometer-api 

可以看到如下内容:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "6"
  creationTimestamp: 2019-01-10T14:05:15Z
  generation: 6
  labels:
    application: ceilometer
    component: api
    release_group: ceilometer
  name: ceilometer-api
  namespace: openstack
  resourceVersion: "3704244"
  selfLink: /apis/extensions/v1beta1/namespaces/openstack/deployments/ceilometer-api
  uid: c13d6a4c-14e0-11e9-8623-fa163edc2997
spec:
  progressDeadlineSeconds: 600
  replicas: 3
  revisionHistoryLimit: 3
  selector:
    matchLabels:
      application: ceilometer
      component: api
      release_group: ceilometer
  strategy:
    rollingUpdate:
      maxSurge: 3
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      annotations:
        configmap-bin-hash: d2eb483473276e7aab27e7b639c4edc3bb0e60125f67b8fbe4b90c149e9744f1
        configmap-etc-hash: f3303568db665b281aaf92fe22b55282ade57ffe0e5e61784e73c27ff38222d0
      creationTimestamp: null
      labels:
        application: ceilometer
        component: api
        release_group: ceilometer
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: release_group

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值