linkerd | Old repo for Linkerd 1x See the linkerd2 repo for Linkerd 2x | Microservice library
kandi X-RAY | linkerd Summary
kandi X-RAY | linkerd Summary
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
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of linkerd
linkerd Key Features
linkerd Examples and Code Snippets
Community Discussions
Trending Discussions on linkerd
QUESTION
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:18I'm able to use kubectl top
on pods that have linkerd injected:
QUESTION
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"
}
QUESTION
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:14The 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:
QUESTION
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:19You can use a TrafficSplit on the source cluster to direct calls to currentservice
to currentservice-east
.
QUESTION
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:04I 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.
QUESTION
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:25So 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.
QUESTION
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:37After 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)
,
QUESTION
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:24I 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:
QUESTION
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:06After reading this: https://linkerd.io/2.10/tasks/using-ingress/ I discovered you need to modify your ingress controller with a special annotation:
QUESTION
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:12As per documentation, I think you have to use apiextensions.k8s.io
not apiextensions.k8s.io/v1
.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install linkerd
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page