pixie icon indicating copy to clipboard operation
pixie copied to clipboard

px deploy error when depoying vizier

Open oslet opened this issue 3 years ago • 4 comments

Describe the bug px deploy not finished err: Deploying Vizier ERR: Vizier.px.dev "pixie" is invalid

To Reproduce Steps to reproduce the behavior:

./px version Pixie CLI Update to version "0.7.17" available. Run "px update cli" to update. 0.7.15+Distribution.adb23c5.20220630065906.1.jenkins ❯ px deploy --pem_memory_limit=5Gi Pixie CLI Update to version "0.7.17" available. Run "px update cli" to update.

Running Cluster Checks: ✔ Kernel version > 4.14.0 ✔ Cluster type is supported ✔ K8s version > 1.16.0 ✔ Kubectl > 1.10.0 is present ✔ User can create namespace ✕ Cluster type is in list of known supported types ERR: Cluster type is not in list of known supported cluster types. Please see: https://docs.px.dev/installing-pixie/requirements/ Some cluster checks failed. Pixie may not work properly on your cluster. Continue with deploy? (y/n) [y] : y Installing Vizier version: 0.11.9 Generating YAMLs for Pixie Deploying Pixie to the following cluster: kubernetes-admin@kubernetes Is the cluster correct? (y/n) [y] : y Found 1 nodes ✔ Installing OLM CRDs ✔ Deploying OLM ✔ Deploying Pixie OLM Namespace ✔ Installing Vizier CRD ✔ Deploying OLM Catalog ✔ Deploying OLM Subscription ✔ Creating namespace ✕ Deploying Vizier ER DeployingR: Vizier.px.dev "pixie" is invalid: spec.dataCollectorParams: Invalid value: "null": spec.dataCollectorParams in body must be of type object: "null" FATA[0168] Failed to deploy Vizier error="Vizier.px.dev "pixie" is invalid: spec.dataCollectorParams: Invalid value: "null": spec.dataCollectorParams in body must be of type object: "null""

Screenshots image

Logs Please attach the logs by running the following command:

./px collect-logs
[pixie_logs_20220822190622.zip](https://github.com/pixie-io/pixie/files/9393778/pixie_logs_20220822190622.zip)


App information (please complete the following information):

  • Pixie version: 0.7.17 AND 0.7.15
  • K8s cluster version: v1.19.8
  • Node Kernel version: 5.4
  • Browser version: 104.0.5112.79

oslet avatar Aug 22 '22 11:08 oslet

Hi @oslet ! Sorry to hear the deployment isn't working as expected. Would you mind sharing the output of kubectl describe crd vizier and kubectl describe vizier pixie -n pl ? Make sure to blank out the deploy key in the spec for the latter command.

aimichelle avatar Aug 22 '22 18:08 aimichelle

Hi @oslet ! Sorry to hear the deployment isn't working as expected. Would you mind sharing the output of kubectl describe crd vizier and kubectl describe vizier pixie -n pl ? Make sure to blank out the deploy key in the spec for the latter command.

  • kubectl describe crd vizier
kubectl describe crd vizier
Name:         viziers.px.dev
Namespace:    
Labels:       operators.coreos.com/pixie-operator.px-operator=
Annotations:  controller-gen.kubebuilder.io/version: v0.4.1
API Version:  apiextensions.k8s.io/v1
Kind:         CustomResourceDefinition
Metadata:
  Creation Timestamp:  2022-08-17T10:01:22Z
  Generation:          1
  Managed Fields:
    API Version:  apiextensions.k8s.io/v1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .:
          f:controller-gen.kubebuilder.io/version:
      f:spec:
        f:conversion:
          .:
          f:strategy:
        f:group:
        f:names:
          f:kind:
          f:listKind:
          f:plural:
          f:singular:
        f:scope:
        f:versions:
      f:status:
        f:storedVersions:
    Manager:      px
    Operation:    Update
    Time:         2022-08-17T10:01:22Z
    API Version:  apiextensions.k8s.io/v1
    Fields Type:  FieldsV1
    fieldsV1:
      f:status:
        f:acceptedNames:
          f:kind:
          f:plural:
        f:conditions:
    Manager:      catalog
    Operation:    Update
    Time:         2022-08-17T10:02:25Z
    API Version:  apiextensions.k8s.io/v1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .:
          f:operators.coreos.com/pixie-operator.px-operator:
    Manager:         olm
    Operation:       Update
    Time:            2022-08-22T09:01:11Z
  Resource Version:  1706615
  Self Link:         /apis/apiextensions.k8s.io/v1/customresourcedefinitions/viziers.px.dev
  UID:               acc9a796-3575-4c54-9ea8-3a863b8040df
Spec:
  Conversion:
    Strategy:  None
  Group:       px.dev
  Names:
    Kind:       Vizier
    List Kind:  VizierList
    Plural:     viziers
    Singular:   vizier
  Scope:        Namespaced
  Versions:
    Name:  v1alpha1
    Schema:
      openAPIV3Schema:
        Description:  Vizier is the Schema for the viziers API
        Properties:
          API Version:
            Description:  APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            Type:         string
          Kind:
            Description:  Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            Type:         string
          Metadata:
            Type:  object
          Spec:
            Description:  VizierSpec defines the desired state of Vizier
            Properties:
              Clock Converter:
                Description:  ClockConverter specifies which routine to use for converting timestamps to a synced reference time.
                Enum:
                  default
                  grpc
                Type:  string
              Cloud Addr:
                Description:  CloudAddr is the address of the cloud instance that the Vizier should be pointing to.
                Type:         string
              Cluster Name:
                Description:  ClusterName is a name for the Vizier instance, usually specifying which cluster the Vizier is deployed to. If not specified, a random name will be generated.
                Type:         string
              Custom Deploy Key Secret:
                Description:  CustomDeployKeySecret is the name of the secret where the deploy key is stored.
                Type:         string
              Data Access:
                Description:  DataAccess defines the level of data that may be accesssed when executing a script on the cluster. If none specified, assumes full data access.
                Enum:
                  Full
                  Restricted
                Type:  string
              Data Collector Params:
                Description:  DataCollectorParams specifies the set of params for configuring the dataCollector. If no params are specified, defaults are used.
                Properties:
                  Custom PEM Flags:
                    Additional Properties:
                      Type:       string
                    Description:  This contains custom flags that should be passed to the PEM via environment variables.
                    Type:         object
                  Datastream Buffer Size:
                    Description:  DatastreamBufferSize is the data buffer size per connection. Default size is 1 Mbyte. For high-throughput applications, try increasing this number if experiencing data loss.
                    Format:       int32
                    Type:         integer
                  Datastream Buffer Spike Size:
                    Description:  DatastreamBufferSpikeSize is the maximum temporary size of a data stream buffer before processing.
                    Format:       int32
                    Type:         integer
                Type:             object
              Deploy Key:
                Description:  DeployKey is the deploy key associated with the Vizier instance. This is used to link the Vizier to a specific user/org. This is required unless specifying a CustomDeployKeySecret.
                Type:         string
              Dev Cloud Namespace:
                Description:  DevCloudNamespace should be specified only for dev versions of Pixie cloud which have no ingress to help redirect traffic to the correct service. The DevCloudNamespace is the namespace that the dev Pixie cloud is running on, for example: "plc-dev".
                Type:         string
              Disable Auto Update:
                Description:  DisableAutoUpdate specifies whether auto update should be enabled for the Vizier instance.
                Type:         boolean
              Leadership Election Params:
                Description:  LeadershipElectionParams specifies configurable values for the K8s leaderships elections which Vizier uses manage pod leadership.
                Properties:
                  Election Period Ms:
                    Description:  ElectionPeriodMs defines how frequently Vizier attempts to run a K8s leader election, in milliseconds. The period also determines how long Vizier waits for a leader election response back from the K8s API. If the K8s API is slow to respond, consider increasing this number.
                    Format:       int64
                    Type:         integer
                Type:             object
              Patches:
                Additional Properties:
                  Type:       string
                Description:  Patches defines patches that should be applied to Vizier resources. The key of the patch should be the name of the resource that is patched. The value of the patch is the patch, encoded as a string which follow the "strategic merge patch" rules for K8s.
                Type:         object
              Pem Memory Limit:
                Description:  PemMemoryLimit is a memory limit applied specifically to PEM pods.
                Type:         string
              Pem Memory Request:
                Description:  PemMemoryRequest is a memory request applied specifically to PEM pods. It will automatically use the value of pemMemoryLimit if not specified.
                Type:         string
              Pod:
                Description:  Pod defines the policy for creating Vizier pods.
                Properties:
                  Annotations:
                    Additional Properties:
                      Type:       string
                    Description:  Annotations specifies the annotations to attach to pods the operator creates.
                    Type:         object
                  Labels:
                    Additional Properties:
                      Type:       string
                    Description:  Labels specifies the labels to attach to pods the operator creates.
                    Type:         object
                  Node Selector:
                    Additional Properties:
                      Type:       string
                    Description:  NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ This field cannot be updated once the cluster is created.
                    Type:         object
                  Resources:
                    Description:  Resources is the resource requirements for a container. This field cannot be updated once the cluster is created.
                    Properties:
                      Limits:
                        Additional Properties:
                          Any Of:
                            Type:                              integer
                            Type:                              string
                          Pattern:                             ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          X - Kubernetes - Int - Or - String:  true
                        Description:                           Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                        Type:                                  object
                      Requests:
                        Additional Properties:
                          Any Of:
                            Type:                              integer
                            Type:                              string
                          Pattern:                             ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                          X - Kubernetes - Int - Or - String:  true
                        Description:                           Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                        Type:                                  object
                    Type:                                      object
                  Security Context:
                    Description:  The securityContext which should be set on non-privileged pods. All pods which require privileged permissions will still require a privileged securityContext.
                    Properties:
                      Enabled:
                        Description:  Whether a securityContext should be set on the pod. In cases where no PSPs are applied to the cluster, this is not necessary.
                        Type:         boolean
                      Fs Group:
                        Description:  A special supplemental group that applies to all containers in a pod.
                        Format:       int64
                        Type:         integer
                      Run As Group:
                        Description:  The GID to run the entrypoint of the container process.
                        Format:       int64
                        Type:         integer
                      Run As User:
                        Description:  The UID to run the entrypoint of the container process.
                        Format:       int64
                        Type:         integer
                    Type:             object
                Type:                 object
              Use Etcd Operator:
                Description:  UseEtcdOperator specifies whether the metadata service should use etcd for storage.
                Type:         boolean
              Version:
                Description:  Version is the desired version of the Vizier instance.
                Type:         string
            Type:             object
          Status:
            Description:  VizierStatus defines the observed state of Vizier
            Properties:
              Checksum:
                Description:  A checksum of the last reconciled Vizier spec. If this checksum does not match the checksum of the current vizier spec, reconciliation should be performed.
                Format:       byte
                Type:         string
              Last Reconciliation Phase Time:
                Description:  LastReconciliationPhaseTime is the last time that the ReconciliationPhase changed.
                Format:       date-time
                Type:         string
              Message:
                Description:  Message is a human-readable message with details about why the Vizier is in this condition.
                Type:         string
              Reconciliation Phase:
                Description:  ReconciliationPhase describes the state the Reconciler is in for this Vizier. See the documentation above the ReconciliationPhase type for more information.
                Type:         string
              Sentry DSN:
                Description:  SentryDSN is key for Viziers that is used to send errors and stacktraces to Sentry.
                Type:         string
              Version:
                Description:  Version is the actual version of the Vizier instance.
                Type:         string
              Vizier Phase:
                Description:  VizierPhase is a high-level summary of where the Vizier is in its lifecycle.
                Type:         string
              Vizier Reason:
                Description:  VizierReason is a short, machine understandable string that gives the reason for the transition into the Vizier's current status.
                Type:         string
            Type:             object
        Type:                 object
    Served:                   true
    Storage:                  true
    Subresources:
      Status:
Status:
  Accepted Names:
    Kind:       Vizier
    List Kind:  VizierList
    Plural:     viziers
    Singular:   vizier
  Conditions:
    Last Transition Time:  2022-08-17T10:01:22Z
    Message:               no conflicts found
    Reason:                NoConflicts
    Status:                True
    Type:                  NamesAccepted
    Last Transition Time:  2022-08-17T10:01:22Z
    Message:               the initial names have been accepted
    Reason:                InitialNamesAccepted
    Status:                True
    Type:                  Established
  Stored Versions:
    v1alpha1
Events:  <none>

  • kubectl describe vizier pixie -n pl
kubectl describe vizier pixie -n pl
Error from server (NotFound): viziers.px.dev "pixie" not found

oslet avatar Aug 23 '22 01:08 oslet

+1

gururajumoe avatar Aug 23 '22 17:08 gururajumoe

installation was successful, following this document https://docs.px.dev/installing-pixie/install-guides/airgap-pixie/

oslet avatar Aug 25 '22 02:08 oslet