Welcome to the Linux Foundation Forum!

Why control plane namespace does not already exist when I am installing linkerd?

Options

Hi guys,
My linkerd had a 500 error server; then, I decided to install it again. So now it is not passing linkerd check --pre.

Best Answers

  • chrispokorni
    chrispokorni Posts: 2,164
    Answer ✓
    Options

    Hi @maybel,

    Have you tried uninstalling linkerd, then going through a fresh install?

    Regards,
    -Chris

  • chrispokorni
    chrispokorni Posts: 2,164
    Answer ✓
    Options

    Hi @maybel,

    As requested, for readability, please

    ... paste in here, as Code ...

    PLAIN TEXT:
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    annotations:
    config.linkerd.io/proxy-await: enabled
    deployment.kubernetes.io/revision: "1"

    CODE block:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      annotations:
        config.linkerd.io/proxy-await: enabled
        deployment.kubernetes.io/revision: "1"
    

    See the difference?

    Regards,
    -Chris

Answers

  • maybel
    maybel Posts: 45
    Options

    Hi @chrispokorni, that is what I did, using this command:
    linkerd viz uninstall | kubectl delete -f -
    and then, when I was doing the new and fresh install, that was my result. :'(

  • maybel
    maybel Posts: 45
    Options

    I guess uninstalling linkerd is not that simple. I deleted the namespace linkerd and solved the cp namespace does not exist. But all the rest problems are still there.

  • maybel
    maybel Posts: 45
    Options

    @chrispokorni We have in Spanish one collocation that said: slowly but confident, I did it! I deleted all the redundant resources manually. B)

  • maybel
    maybel Posts: 45
    Options

    Hi @chrispokorni, happiness last too short when it's about Kubernetes. I have a problem!
    When I try to access linkerd, I get this answer:

    I guess the reason is here:

    Additionally, seeing the yaml code in magenta, like the picture below, suggests something is wrong with that code.

    I tried "-enforced-host=^dashboard.example.com$", but it didn't work.

  • chrispokorni
    chrispokorni Posts: 2,164
    Options

    Hi @maybel,

    Step 2 of the linkerd service mesh installation is suggesting an edit to the --enforced-host argument line. Have you tried that? What was your result?

    Regards,
    -Chris

  • maybel
    maybel Posts: 45
    Options

    Hi @chrispokorni,
    I removed everything after the equal sign, as the practice says. And this is what I got.

    It appears that you are trying to reach this service with a host of '34.79.114.217:31500'.
    This does not match /^(localhost|127.0.0.1|web.linkerd-viz.svc.cluster.local|web.linkerd-viz.svc|[::1])(:\d+)?$/ and has been denied for security reasons.

  • maybel
    maybel Posts: 45
    Options

    @chrispokorni, I did it again, and this is what I got:
    student@cp:~$ kubectl -n linkerd-viz edit deploy web
    A copy of your changes has been stored to "/tmp/kubectl-edit-4123935361.yaml"
    error: map: map[args:[-linkerd-metrics-api-addr=metrics-api.linkerd-viz.svc.cluster.local:8085 -cluster-domain=cluster.local -controller-namespace=linkerd -log-level=info -log-format=plain -enforced-host=]] does not contain declared merge key: name

  • chrispokorni
    chrispokorni Posts: 2,164
    Options

    Hi @maybel,

    It seems you attempted several edits on the web deployment, neither recommended in the lab guide. The magenta text is just the annotation storing the most recent change in the resource's state.

    What browser are you using to access the linkerd dashboard?

    Can you paste in here, as Code the output of the following command?

    kubectl -n linkerd-viz edit deploy web

    Regards,
    -Chris

  • maybel
    maybel Posts: 45
    Options

    Hi, @chrispokorni; here it is:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    annotations:
    config.linkerd.io/proxy-await: enabled
    deployment.kubernetes.io/revision: "1"
    kubectl.kubernetes.io/last-applied-configuration: |
    {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{"config.linkerd.io/proxy-await":"enabled","linkerd.io/created-by":"linkerd/helm stable-2.13.2","linkerd.io/inject":"enabled"},"labels":{"app.kubernetes.io/name":"web","app.kubernetes.io/part-of":"Linkerd","app.kubernetes.io/version":"stable-2.13.2","component":"web","linkerd.io/extension":"viz","namespace":"linkerd-viz"},"name":"web","namespace":"linkerd-viz"},"spec":{"replicas":1,"selector":{"matchLabels":{"component":"web","linkerd.io/extension":"viz","namespace":"linkerd-viz"}},"template":{"metadata":{"annotations":{"cluster-autoscaler.kubernetes.io/safe-to-evict":"true","config.alpha.linkerd.io/proxy-wait-before-exit-seconds":"0","linkerd.io/created-by":"linkerd/helm stable-2.13.2","linkerd.io/inject":"enabled"},"labels":{"component":"web","linkerd.io/extension":"viz","namespace":"linkerd-viz"}},"spec":{"containers":[{"args":["-linkerd-metrics-api-addr=metrics-api.linkerd-viz.svc.cluster.local:8085","-cluster-domain=cluster.local","-controller-namespace=linkerd","-log-level=info","-log-format=plain","-enforced-host=^(localhost|127\.0\.0\.1|web\.linkerd-viz\.svc\.cluster\.local|web\.linkerd-viz\.svc|\[::1\])(:\d+)?$","-enable-pprof=false"],"image":"cr.l5d.io/linkerd/web:stable-2.13.2","imagePullPolicy":"IfNotPresent","livenessProbe":{"httpGet":{"path":"/ping","port":9994},"initialDelaySeconds":10},"name":"web","ports":[{"containerPort":8084,"name":"http"},{"containerPort":9994,"name":"admin-http"}],"readinessProbe":{"failureThreshold":7,"httpGet":{"path":"/ready","port":9994}},"resources":null,"securityContext":{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"readOnlyRootFilesystem":true,"runAsNonRoot":true,"runAsUser":2103,"seccompProfile":{"type":"Runt
    Default"}},"serviceAccountName":"web"}}}}
    linkerd.io/created-by: linkerd/helm stable-2.13.2
    linkerd.io/inject: enabled
    creationTimestamp: "2023-04-27T13:24:28Z"
    generation: 1
    labels:
    app.kubernetes.io/name: web
    app.kubernetes.io/part-of: Linkerd
    app.kubernetes.io/version: stable-2.13.2
    component: web
    linkerd.io/extension: viz
    namespace: linkerd-viz
    name: web
    namespace: linkerd-viz
    resourceVersion: "445889"
    uid: d88f4688-2d9d-43ff-a7ea-1d4a3065b44b
    spec:
    progressDeadlineSeconds: 600
    replicas: 1
    revisionHistoryLimit: 10
    selector:
    matchLabels:
    component: web
    linkerd.io/extension: viz
    namespace: linkerd-viz
    strategy:
    rollingUpdate:
    maxSurge: 25%
    maxUnavailable: 25%
    type: RollingUpdate
    template:
    metadata:
    annotations:
    cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
    config.alpha.linkerd.io/proxy-wait-before-exit-seconds: "0"
    linkerd.io/created-by: linkerd/helm stable-2.13.2
    linkerd.io/inject: enabled
    creationTimestamp: null
    labels:
    component: web
    linkerd.io/extension: viz
    namespace: linkerd-viz
    spec:
    containers:
    - args:
    - -linkerd-metrics-api-addr=metrics-api.linkerd-viz.svc.cluster.local:8085
    - -cluster-domain=cluster.local
    - -controller-namespace=linkerd
    - -log-level=info
    - -log-format=plain
    - -enforced-host=^(localhost|127.0.0.1|web.linkerd-viz.svc.cluster.local|web.linkerd-viz.svc|[::1])(:\d+)?$
    - -enable-pprof=false
    image: cr.l5d.io/linkerd/web:stable-2.13.2
    imagePullPolicy: IfNotPresent
    livenessProbe:
    failureThreshold: 3
    httpGet:
    path: /ping
    port: 9994
    scheme: HTTP
    initialDelaySeconds: 10
    periodSeconds: 10
    successThreshold: 1
    timeoutSeconds: 1
    name: web
    ports:
    - containerPort: 8084
    name: http
    protocol: TCP
    - containerPort: 9994
    name: admin-http
    protocol: TCP
    readinessProbe:
    failureThreshold: 7
    httpGet:
    path: /ready
    port: 9994
    scheme: HTTP
    periodSeconds: 10
    successThreshold: 1
    timeoutSeconds: 1
    resources: {}
    securityContext:
    allowPrivilegeEscalation: false
    capabilities:
    drop:
    - ALL
    readOnlyRootFilesystem: true
    runAsNonRoot: true
    runAsUser: 2103
    seccompProfile:
    type: RuntimeDefault
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    dnsPolicy: ClusterFirst
    nodeSelector:
    kubernetes.io/os: linux
    restartPolicy: Always
    schedulerName: default-scheduler
    securityContext:
    seccompProfile:
    type: RuntimeDefault
    serviceAccount: web
    serviceAccountName: web
    terminationGracePeriodSeconds: 30
    status:
    availableReplicas: 1
    conditions:
    - lastTransitionTime: "2023-04-27T13:24:28Z"
    lastUpdateTime: "2023-04-27T13:24:49Z"
    message: ReplicaSet "web-864897b5c5" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: "True"
    type: Progressing
    - lastTransitionTime: "2023-05-04T08:54:29Z"
    lastUpdateTime: "2023-05-04T08:54:29Z"
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
    observedGeneration: 1
    readyReplicas: 1
    replicas: 1
    updatedReplicas: 1

  • maybel
    maybel Posts: 45
    Options
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      annotations:
        config.linkerd.io/proxy-await: enabled
        deployment.kubernetes.io/revision: "1"
        kubectl.kubernetes.io/last-applied-configuration: |
          {"apiVersion":"apps/v1","kind":"Deployment",
          "metadata":{"annotations":{"config.linkerd.io/
          proxy-await":"enabled","linkerd.io/created-by":
          "linkerd/helm stable-2.13.2","linkerd.io/inject":
          "enabled"},"labels":{"app.kubernetes.io/name":
          "web","app.kubernetes.io/part-of":"Linkerd",
          "app.kubernetes.io/version":"stable-2.13.2",
          "component":"web","linkerd.io/extension":"viz",
          "namespace":"linkerd-viz"},"name":"web","namespace":
          "linkerd-viz"},"spec":{"replicas":1,"selector"
          :{"matchLabels":{"component":"web",
          "linkerd.io/extension":"viz","namespace":
          "linkerd-viz"}},"template":{"metadata":{"annotations":
          {"cluster-autoscaler.kubernetes.io/safe-to-evict":
          "true","config.alpha.linkerd.io/
          proxy-wait-before-exit-seconds":"0","linkerd.io
          /created-by":"linkerd/helm stable-2.13.2",
          "linkerd.io/inject":"enabled"},"labels":
          {"component":"web","linkerd.io/extension":
          "viz","namespace":"linkerd-viz"}},"spec":
          {"containers":[{"args":["-linkerd-metrics-api-addr=
          metrics-api.linkerd-viz.svc.cluster.local:8085",
          "-cluster-domain=cluster.local","
          -controller-namespace=linkerd","-log-level=info",
          "-log-format=plain","-enforced-host=
          ^(localhost|127\\.0\\.0\\.1|web\\.linkerd-viz\\.svc\\.
          cluster\\.local|web\\.linkerd-viz\\.svc|\\[::1\\])
          (:\\d+)?$","-enable-pprof=false"],"image":
          "cr.l5d.io/linkerd/web:stable-2.13.2",
          "imagePullPolicy":"IfNotPresent","livenessProbe"
          :{"httpGet":{"path":"/ping","port":9994},
          "initialDelaySeconds":10},"name":"web",
          "ports":[{"containerPort":8084,"name":"http"},
          {"containerPort":9994,"name":"admin-http"}],
          "readinessProbe":{"failureThreshold":7,"httpGet"
          :{"path":"/ready","port":9994}},"resources":null,
          "securityContext":{"allowPrivilegeEscalation":
          false,"capabilities":{"drop":["ALL"]},
          "readOnlyRootFilesystem":true,"runAsNonRoot":true,
          "runAsUser":2103,"seccompProfile":{"type":
          "RuntimeDefault"}}}],"nodeSelector":{
          "kubernetes.io/os":"linux"},"securityContext":{
          "seccompProfile":{"type":"RuntimeDefault"}},
          "serviceAccountName":"web"}}}}
              linkerd.io/created-by: linkerd/helm stable-2.13.2
        linkerd.io/inject: enabled
      creationTimestamp: "2023-04-27T13:24:28Z"
      generation: 1
      labels:
        app.kubernetes.io/name: web
        app.kubernetes.io/part-of: Linkerd
        app.kubernetes.io/version: stable-2.13.2
         component: web
        linkerd.io/extension: viz
        namespace: linkerd-viz
      name: web
      namespace: linkerd-viz
      resourceVersion: "474056"
      uid: d88f4688-2d9d-43ff-a7ea-1d4a3065b44b
    spec:
      progressDeadlineSeconds: 600
      replicas: 1
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          component: web
          linkerd.io/extension: viz
          namespace: linkerd-viz
      strategy:
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 25%
        type: RollingUpdate
      template:
        metadata:
          annotations:
            cluster-autoscaler.kubernetes.io/safe-to-evict: "true"
            config.alpha.linkerd.io/proxy-wait-before-exit-seconds: "0"
            linkerd.io/created-by: linkerd/helm stable-2.13.2
            linkerd.io/inject: enabled
          creationTimestamp: null
          labels:
            component: web
            linkerd.io/extension: viz
            namespace: linkerd-viz
        spec:
          containers:
          - args:
            - -linkerd-metrics-api-addr=metrics-api.linkerd-viz.svc.cluster.local:8085
            - -cluster-domain=cluster.local
            - -controller-namespace=linkerd
            - -log-level=info
            - -log-format=plain
            - -enforced-host=^(localhost|127\.0\.0\.1|web\.linkerd-viz\.svc\.cluster\.local|web\.linkerd-viz\.svc|\[::1\])(:\d+)?$
            - -enable-pprof=false
            image: cr.l5d.io/linkerd/web:stable-2.13.2
            imagePullPolicy: IfNotPresent
            livenessProbe:
              failureThreshold: 3
              httpGet:
                path: /ping
                port: 9994
                scheme: HTTP
              initialDelaySeconds: 10
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            name: web
            ports:
            - containerPort: 8084
              name: http
              protocol: TCP
            - containerPort: 9994
              name: admin-http
              protocol: TCP
            readinessProbe:
              failureThreshold: 7
              httpGet:
                path: /ready
                port: 9994
                scheme: HTTP
              periodSeconds: 10
              successThreshold: 1
              timeoutSeconds: 1
            resources: {}
            securityContext:
              allowPrivilegeEscalation: false
              capabilities:
                drop:
                - ALL
              readOnlyRootFilesystem: true
              runAsNonRoot: true
              runAsUser: 2103
              seccompProfile:
                type: RuntimeDefault
            terminationMessagePath: /dev/termination-log
            terminationMessagePolicy: File
          dnsPolicy: ClusterFirst
          nodeSelector:
            kubernetes.io/os: linux
          restartPolicy: Always
          schedulerName: default-scheduler
          securityContext:
            seccompProfile:
              type: RuntimeDefault
          serviceAccount: web
          serviceAccountName: web
          terminationGracePeriodSeconds: 30
    status:
      availableReplicas: 1
      conditions:
      - lastTransitionTime: "2023-04-27T13:24:28Z"
        lastUpdateTime: "2023-04-27T13:24:49Z"
        message: ReplicaSet "web-864897b5c5" has successfully progressed.
        reason: NewReplicaSetAvailable
        status: "True"
        type: Progressing
      - lastTransitionTime: "2023-05-04T22:25:49Z"
        lastUpdateTime: "2023-05-04T22:25:49Z"
        message: Deployment has minimum availability.
        reason: MinimumReplicasAvailable
        status: "True"
        type: Available
      observedGeneration: 1
      readyReplicas: 1
      replicas: 1
      updatedReplicas: 1
    
    
  • maybel
    maybel Posts: 45
    Options

    @chrispokorni is done.

  • maybel
    maybel Posts: 45
    Options

    @chrispokorni, I found my mistake!! :# I was taken away more than the practice says, but talking to you is helpful. I mean, visualising the code correctly changes many things. Thank you!!

Categories

Upcoming Training