Kubectl始终生成具有相同名称的Pod

时间:2018-08-20 02:41:24

标签: docker kubernetes containers kubectl

我是kubernetes的新手。无论如何,我们可以确定pod的名称吗?如果我们仅创建一个副本,那么我想一直以相同的名称生成。它一直在产生不同的名称。如果要查看容器的日志,则每次需要使用新生成的Pod名称更改命令时。

以下是YAML文件的示例。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nagendra-app-deploy1
spec:
  replicas: 1
  template:
    metadata:
      name: nagendra-app-deploy1
      labels:
        app: nagendra-app-deploy1
    spec:
      containers:
      - name: nagendra-spring-app1
        image: springbootapp:v1
        ports:
        - containerPort: 8080
      - name: nagendra-myImage
        image: myImage:v2

3 个答案:

答案 0 :(得分:3)

无法为部署生产的pod生成相同的名称。就命令而言,您可以使用kubectl get po -l app=nagendra-app-deploy1 -o jsonpath={.items[0].metadata.name}来获得广告连播的名称。

答案 1 :(得分:1)

这是诀窍,我用来获取部署的日志

kubectl logs -f $(kubectl get deployment -o name | grep DEPLOYMENT_NAME | head -n 1)

例如,在您的情况下,我只需要更改相当静态的deploy_name即可。

kubectl logs -f $(kubectl get deployment -o name | grep nagendra-app-deploy1 | head -n 1)

答案 2 :(得分:0)

如果您不需要部署(不需要滚动更新,也没有监视Pod是否启动的副本集),则可以简单地部署Pod。

一个简单的pod会在更新中保留其名称。