1

我正在尝试将 Helm (v2.4.1) Tiller 安装到 Kubernetes 集群 (v1.5.7) 中。这需要能够在非 Internet 环境中完成,所以我想从helm init --dry-run --debug. 但是,当我将清单复制到一个名为tiller.yaml然后运行的文件中时,kubectl create -f tiller.yaml我得到如下所示的验证错误。请问这个文件有什么问题吗?

error validating "tiller.yaml": error validating data: [found invalid field labels for v1beta1.Deployment, found invalid field name for v1beta1.Deployment, found invalid field namespace for v1beta1.Deployment, found invalid field Spec for v1beta1.Deployment, found invalid field Status for v1beta1.Deployment, found invalid field creationTimestamp for v1beta1.Deployment]; if you choose to ignore these errors, turn validation off with --validate=false

分蘖.yaml:

apiVersion: extensions/v1beta1
kind: Deployment
Spec:
  MinReadySeconds: 0
  Paused: false
  ProgressDeadlineSeconds: null
  Replicas: 1
  RevisionHistoryLimit: null
  RollbackTo: null
  Selector: null
  Strategy:
    RollingUpdate: null
    Type: ""
  Template:
    Spec:
      ActiveDeadlineSeconds: null
      Affinity: null
      AutomountServiceAccountToken: null
      Containers:
      - Args: null
        Command: null
        Env:
        - Name: TILLER_NAMESPACE
          Value: kube-system
          ValueFrom: null
        EnvFrom: null
        Image: gcr.io/kubernetes-helm/tiller:v2.4.1
        ImagePullPolicy: IfNotPresent
        Lifecycle: null
        LivenessProbe:
          Exec: null
          FailureThreshold: 0
          HTTPGet:
            HTTPHeaders: null
            Host: ""
            Path: /liveness
            Port: 44135
            Scheme: ""
          InitialDelaySeconds: 1
          PeriodSeconds: 0
          SuccessThreshold: 0
          TCPSocket: null
          TimeoutSeconds: 1
        Name: tiller
        Ports:
        - ContainerPort: 44134
          HostIP: ""
          HostPort: 0
          Name: tiller
          Protocol: ""
        ReadinessProbe:
          Exec: null
          FailureThreshold: 0
          HTTPGet:
            HTTPHeaders: null
            Host: ""
            Path: /readiness
            Port: 44135
            Scheme: ""
          InitialDelaySeconds: 1
          PeriodSeconds: 0
          SuccessThreshold: 0
          TCPSocket: null
          TimeoutSeconds: 1
        Resources:
          Limits: null
          Requests: null
        SecurityContext: null
        Stdin: false
        StdinOnce: false
        TTY: false
        TerminationMessagePath: ""
        TerminationMessagePolicy: ""
        VolumeMounts: null
        WorkingDir: ""
      DNSPolicy: ""
      Hostname: ""
      ImagePullSecrets: null
      InitContainers: null
      NodeName: ""
      NodeSelector: null
      RestartPolicy: ""
      SchedulerName: ""
      SecurityContext:
        FSGroup: null
        HostIPC: false
        HostNetwork: false
        HostPID: false
        RunAsNonRoot: null
        RunAsUser: null
        SELinuxOptions: null
        SupplementalGroups: null
      ServiceAccountName: ""
      Subdomain: ""
      TerminationGracePeriodSeconds: null
      Tolerations: null
      Volumes: null
    creationTimestamp: null
    labels:
      app: helm
      name: tiller
Status:
  AvailableReplicas: 0
  Conditions: null
  ObservedGeneration: 0
  ReadyReplicas: 0
  Replicas: 0
  UnavailableReplicas: 0
  UpdatedReplicas: 0
creationTimestamp: null
labels:
  app: helm
  name: tiller
name: tiller-deploy
namespace: kube-system
---
apiVersion: v1
kind: Service
Spec:
  ClusterIP: ""
  ExternalIPs: null
  ExternalName: ""
  LoadBalancerIP: ""
  LoadBalancerSourceRanges: null
  Ports:
  - Name: tiller
    NodePort: 0
    Port: 44134
    Protocol: ""
    TargetPort: tiller
  Selector:
    app: helm
    name: tiller
  SessionAffinity: ""
  Type: ClusterIP
Status:
  LoadBalancer:
    Ingress: null
creationTimestamp: null
labels:
  app: helm
  name: tiller
name: tiller-deploy
namespace: kube-system
4

1 回答 1

1

您的所有属性都应该以小写字母开头,并且 creationTimestamp/labels/etc 都应该出现在“元数据”节中。这个清单是如何形成的?

于 2017-05-19T23:28:24.540 回答