linkerd | Old repo for Linkerd 1x See the linkerd2 repo for Linkerd 2x | Microservice library

 by   linkerd Scala Version: 1.7.5 License: Apache-2.0

kandi X-RAY | linkerd Summary

kandi X-RAY | linkerd Summary

linkerd is a Scala library typically used in Architecture, Microservice applications. linkerd has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Linkerd 1.x (pronounced "linker-DEE") acts as a transparent HTTP/gRPC/thrift/etc proxy, and can usually be dropped into existing applications with a minimum of configuration, regardless of what language they're written in. It works with many common protocols and service discovery backends, including scheduled environments like Nomad, Mesos and Kubernetes. Linkerd is built on top of Netty and Finagle, a production-tested RPC framework used by high-traffic companies like Twitter, Pinterest, Tumblr, PagerDuty, and others. Linkerd is hosted by the Cloud Native Computing Foundation (CNCF).
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              linkerd has a medium active ecosystem.
              It has 5369 star(s) with 521 fork(s). There are 208 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 133 open issues and 926 have been closed. On average issues are closed in 126 days. There are 13 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of linkerd is 1.7.5

            kandi-Quality Quality

              linkerd has 0 bugs and 0 code smells.

            kandi-Security Security

              linkerd has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              linkerd code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              linkerd is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              linkerd releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.
              It has 60550 lines of code, 3307 functions and 793 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of linkerd
            Get all kandi verified functions for this library.

            linkerd Key Features

            No Key Features are available at this moment for linkerd.

            linkerd Examples and Code Snippets

            No Code Snippets are available at this moment for linkerd.

            Community Discussions

            QUESTION

            Kubernetes metrics-server not working with Linkerd
            Asked 2022-Mar-07 at 21:18

            I have a metrics-server and a horizontal pod autoscaler using this server, running on my cluster.
            This works perfectly fine, until i inject linkerd-proxies into the deployments of the namespace where my application is running. Running kubectl top pod in that namespace results in a error: Metrics not available for pod error. However, nothing appears in the metrics-server pod's logs.
            The metrics-server clearly works fine in other namespaces, because top works in every namespace but the meshed one.

            At first i thought it could be because the proxies' resource requests/limits weren't set, but after running the injection with them (kubectl get -n deploy -o yaml | linkerd inject - --proxy-cpu-request "10m" --proxy-cpu-limit "1" --proxy-memory-request "64Mi" --proxy-memory-limit "256Mi" | kubectl apply -f -), the issue stays the same.

            Is this a known problem, are there any possible solutions?

            PS: I have a kube-prometheus-stack running in a different namespace, and this seems to be able to scrape the pod metrics from the meshed pods just fine

            ...

            ANSWER

            Answered 2022-Mar-04 at 01:18

            I'm able to use kubectl top on pods that have linkerd injected:

            Source https://stackoverflow.com/questions/71328708

            QUESTION

            Linkerd inbound port annotation leads to "Failed to bind inbound listener"
            Asked 2022-Mar-07 at 10:47

            We are using Linkerd 2.11.1 on Azure AKS Kubernetes. Amongst others there is a Deployment using using an Alpine Linux image containing Apache/mod_php/PHP8 serving an API. HTTPS is resolved by Traefik v2 with cert-manager, so that in coming traffic to the APIs is on port 80. The Linkerd proxy container is injected as a Sidecar.

            Recently I saw that the API containers return 504 errors during a short period of time when doing a Rolling deployment. In the Sidecars log, I found the following :

            ...

            ANSWER

            Answered 2022-Mar-04 at 01:07
                    annotations = {
                      "config.linkerd.io/inbound-port" = "80"
                    }
            

            Source https://stackoverflow.com/questions/71310780

            QUESTION

            viz extension crashloop with Request failed error unauthorized connection on server proxy-admin
            Asked 2022-Jan-08 at 04:17

            I just tried to install Linkerd viz extension following official documentation but all the pods are in a crash loop.

            ...

            ANSWER

            Answered 2022-Jan-08 at 04:14

            The issue was the policy that come by default installation.

            This authorizes unauthenticated requests from IPs in the clusterNetworks configuration. If the source IP () is not in that list, these connections will be denied. To fix this, the authorization policy could be updated with the following:

            Source https://stackoverflow.com/questions/70629232

            QUESTION

            Go service name change for linkerd
            Asked 2021-Nov-16 at 17:19

            I have configured linkerd with 2 clusters in GKE (west and east cluster) for multicluster purpose. I used this demo app provided by google https://github.com/GoogleCloudPlatform/microservices-demo

            First I did it with Istio and everything worked out fine, but with linkerd its different. As expected the exported service from east to west cluster with get the cluster name appended to the service. eg in west cluster ,you will get currencyservice-east.

            The problem I think I am having is that the frontend in the west cluster keeps sending request to currencyservice instead of currencyservice-east.

            I didn't have this problem in Istio because Istio used the same service name across clusters. I am not a GO programmer, but I have googled my life to find out where the service name was defined in the frontend source code to change it but I have not succeeded.

            another alternative will be for linkerd to maintain the service name while exporting it.

            please guys help me.

            ...

            ANSWER

            Answered 2021-Nov-16 at 17:19

            You can use a TrafficSplit on the source cluster to direct calls to currentservice to currentservice-east.

            Source https://stackoverflow.com/questions/69976054

            QUESTION

            Oauth2-proxy and Traefik: too many redirect
            Asked 2021-Sep-24 at 13:40

            I have been trying for days and countless hours to make this thing work with Traefik, however not matter what I have tried nothing has been working so far.

            I have tried first with Nginx ingress controller and managed to make it work, so I am sure that my provider (Cognito) and the oauth2-proxy pod is working correctly.

            So, I am using an EKS 1.20 cluster and we have Traefik installed via helm chart

            ...

            ANSWER

            Answered 2021-Sep-09 at 05:04

            I have solved by simply not using oauth2-proxy which clearly does not work with Traefik, instead I have found this other project: https://github.com/thomseddon/traefik-forward-auth

            A bit more simple and it works.

            Source https://stackoverflow.com/questions/69102035

            QUESTION

            How to implement role-based auth with SPIFFE/SPIRE?
            Asked 2021-Sep-24 at 00:45

            I'm in the process of vetting a move to service mesh. While Istio and Consul Connect are certainly still in the cards, I'm leaning towards building up from a bit lower level with Linkerd and SPIFFE/SPIRE.

            I want to build a 'hello world' mesh to test this architecture out. In this hello world mesh, I'd like to be able to issue certificates from SPIFFE/SPIRE that encode some kind of role. As you can probably tell, I'm new to service meshes. How would I implement roles? Are there any guides out there to help get me started?

            ...

            ANSWER

            Answered 2021-Sep-23 at 16:25

            So there isn't any kind of integration with Linkerd and SPIFFE/SPIRE. As of right now there isn't any particular plan for an integration but you can see the existing issue for more details. The next release of Linkerd, 2.11, will include the ability to create server side policy but current versions don't enforce any kind of policy settings.

            Source https://stackoverflow.com/questions/69291974

            QUESTION

            Failed to connect PostgreSQL in Kubernetes
            Asked 2021-Aug-02 at 12:37

            I am using Kubernetes. I have two pods.

            In one pod, it is running a server. Here is the part of codes trying to connect PostgreSQL service in another pod.

            ...

            ANSWER

            Answered 2021-Aug-02 at 12:37

            After some experiments, I can confirm my issue is not related with Linkerd.

            I think my PostgreSQL containerPort/targetPort is still using the default 5432. And it exposed by ClusterIP inside of the network by port 40072, which is why I don't need mark the port as opaque in Linkerd.

            It turns out that after adding os.Exit(1),

            Source https://stackoverflow.com/questions/68614476

            QUESTION

            linkerd Inject with helm or namespace?
            Asked 2021-Jun-17 at 16:24

            I can't seem to find a simple answer to my question,

            how to use linkerd inject command / options to add when using helm to install a package, e.g. like postgres?

            I have done it with another package but that was by adding the annotation command to a values file and supplying that when running the helm install command.

            With istio, all I have to do is to add a label on the namespace and it works?

            So I started to look into adding the annotation to the namespaces I am working with, using the kubectl create namespace command?

            However, I cant seem to find a way to add any annotation at the point of creating a namespace, unless I use a file.

            So, I either need a way to add this annotation to the namespace with the create command or when installing packages with helm?

            Thanks,

            ...

            ANSWER

            Answered 2021-Jun-17 at 16:24

            I think there are a couple of ways to do this. It all depends on what you are trying to achieve and how you'd like to manage your underlying infrastructure.

            I assume you want to automate the installation of helm charts. If you are going to create the namespace using kubectl create namespace then you might be able to follow that up with kubectl annotate "linkerd.io/inject=enabled".

            Alternatively, you can make use of the Linkerd CLI and use the inject command provided -- the workflow here would involve a combination of kubectl and linkerd commands so I'm not sure it's what you're looking for. Nonetheless, you can do something like kubectl create namespace -o yaml | linkerd inject - | kubectl apply -f -.

            Last but not least, if you can use kubectl create namespace then you might be able to pipe the namespace manifest to kubectl directly and call it a day? You can use something similar to the snippet below:

            Source https://stackoverflow.com/questions/68018364

            QUESTION

            Canary rollouts with linkerd and argo rollouts
            Asked 2021-Jun-03 at 13:14

            I'm trying to configure a canary rollout for a demo, but I'm having trouble getting the traffic splitting to work with linkerd. The funny part is I was able to get this working with istio and i find istio to be much more complicated then linkerd.

            I have a basic go-lang service define like this:

            ...

            ANSWER

            Answered 2021-Jun-03 at 05:06

            After reading this: https://linkerd.io/2.10/tasks/using-ingress/ I discovered you need to modify your ingress controller with a special annotation:

            Source https://stackoverflow.com/questions/67813550

            QUESTION

            Fixing out of sync warning in Argo CD - Unable to ignore the optional `preserveUnknownFields` field
            Asked 2021-May-19 at 09:04

            Argo CD shows two items from linkerd (installed by Helm) are being out of sync. The warnings are caused by the optional preserveUnknownFields: false in the spec section:

            trafficsplits.split.smi-spec.io

            serviceprofiles.linkerd.io

            But I'm not able to figure out how to ignore the difference using ignoreDifferences in the Application manifest. The /spec/preserveUnknownFields json path isn't working. Is it because the field preserveUnknownFields is not present in the left version?

            ...

            ANSWER

            Answered 2021-May-18 at 10:12

            As per documentation, I think you have to use apiextensions.k8s.io not apiextensions.k8s.io/v1.

            Source https://stackoverflow.com/questions/67580601

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install linkerd

            You can download it from GitHub.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/linkerd/linkerd.git

          • CLI

            gh repo clone linkerd/linkerd

          • sshUrl

            git@github.com:linkerd/linkerd.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link