我正在尝试将Helm(v2.4.1)Tiller安装到Kubernetes集群(v1.5.7)中。这需要能够在非Internet环境中完成,因此我想从helm init --dry-run --debug
获取Tiller部署的清单。但是,当我将清单复制到名为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
tiller.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
答案 0 :(得分:1)
所有属性都应以小写字母开头,而creationTimestamp / labels / etc应全部出现在“元数据”节中。这个清单是如何形成的?