-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add release notes for stable-2.4.0 #3032
Conversation
Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Done up to Web UI Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Integration test results for 52d7027: success 🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for putting this together.
Should we mention #2885 (fixed by #2990), where the linkerd endpoints
command now also take a list of authorities, and returns the (cached) states of those endpoints? IIRC, the context was that some AKS users were seeing their proxies hitting stale endpoints caused by some Azure CNI issue. This command was introduced to help with the debugging effort.
Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
…2.4.0 Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Integration test results for 2b2f4fa: success 🎉 |
Sync summary with blog post Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Integration test results for 88f7530: success 🎉 |
Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
The last open TODO is adding the link for the blog post; it is ready-ready otherwise. |
Integration test results for 5524b4f: success 🎉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two minor comments, otherwise lgtm
Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Integration test results for 59cf0c9: fail 😕 |
…2.4.0 Signed-off-by: Kevin Leimkuhler <kleimkuhler@icloud.com>
Integration test results for a2de7df: success 🎉 |
stable-2.4.0
This release adds traffic splitting functionality, support for the Kubernetes
Service Mesh Interface (SMI), graduates high-availability support out of
experimental status, and adds a tremendous list of other improvements,
performance enhancements, and bug fixes.
Linkerd's new traffic splitting feature allows users to dynamically control the
percentage of traffic destined for a service. This powerful feature can be used
to implement rollout strategies like canary releases and blue-green deploys.
Support for the Service Mesh Interface (SMI) makes it
easier for ecosystem tools to work across all service mesh implementations.
Along with the introduction of optional install stages via the
linkerd install config
andlinkerd install control-plane
commands, the default behavior ofthe
linkerd inject
command only adds annotations and defers injection to thealways-installed proxy injector component.
Finally, there have been many performance and usability improvements to the
proxy and UI, as well as production-ready features including:
linkerd edges
command that provides fine-grained observability intothe TLS-based identity system
--enable-debug-sidecar
flag for thelinkerd inject
command that improvesdebugging efforts
Linkerd recently passed a CNCF-sponsored security audit! Check out the in-depth
report here.
To install this release, run:
curl https://run.linkerd.io/install | sh
Upgrade notes: Use the
linkerd upgrade
command to upgrade the controlplane. This command ensures that all existing control plane's configuration and
mTLS secrets are retained. For more details, please see the upgrade
instructions for more details.
Special thanks to: @alenkacz, @codeman9, @dwj300, @jackprice, @liquidslr
@matej-g, @Pothulapati, @zaharidichev,
Full release notes:
--proxy-auto-inject
flag, as the proxyinjector is now always installed
--linkerd-version
flag with the--proxy-version
flag in thelinkerd install
andlinkerd upgrade
commands, which allows setting the version for the injected proxy sidecar
image, without changing the image versions for the control plane
linkerd install config
andlinkerd install control-plane
linkerd upgrade config
andlinkerd upgrade control-plane
--from-manifests
flag tolinkerd upgrade
allowingmanually feeding a previously saved output of
linkerd install
into thecommand, instead of requiring a connection to the cluster to fetch the
config
--manual
flag tolinkerd inject
to output the proxysidecar container spec
--enable-debug-sidecar
flag tolinkerd inject
, thatinjects a debug sidecar to inspect traffic to and from the meshed pod
@liquidslr!)
linkerd check
when running without a TTYDeployment to avoid warnings when installing the proxy injector (thanks,
@dwj300!)
linkerd check config
command for verifying thatlinkerd install config
was successfullinkerd install
to clarify flag usageto the control plane using a port-forward (thanks, @jackprice!)
linkerd check
andlinkerd dashboard
failing when any control planepod is not ready, even when multiple replicas exist (as in HA mode)
linkerd edges
command that shows the source anddestination name and identity for proxied connections, to assist in
debugging
--disable-tap
flag, or by using theconfig.linkerd.io/disable-tap
annotation
linkerd edges
command so that output isscripting friendly and can be parsed easily (thanks @alenkacz!)
--ha
, runninglinkerd upgrade
without--ha
will disable the high availability control planelinkerd upgrade
where running without--ha
wouldunintentionally disable high availability features if they were previously
enabled
--init-image-version
flag tolinkerd inject
to override theinjected proxy-init container version
--linkerd-cni-enabled
flag to theinstall
subcommands so thatNET_ADMIN
capability is omitted from the CNI-enabled control plane's PSPlinkerd check
to validate the caller can createPodSecurityPolicy
resourceslinkerd install
to prevent installing multiple controlplanes into different namespaces avoid conflicts between global resources
linkerd inject
(thanks@Pothulapati!)
linkerd check
output for controlplane ReplicaSet readiness
linkerd endpoints
to use the same interface as used by theproxy for service discovery information
linkerd inject
would fail when given a path to a fileoutside the current directory
linkerd install
to provide instructions forproceeding when an existing installation is found
to better assist debugging efforts
wasn't properly determined, which would result in erroneous stats
config.linkerd.io/disable-identity
annotation toopt out of identity for a specific pod
ResourceQuota
exists by adding a defaultresource spec for the proxy-init init container
returns an
ErrGroupDiscoveryFailed
@Pothulapati!)
and private key pair for each webhook, to prepare for future work to make
the proxy injector and service profile validator HA
config.linkerd.io/enable-debug-sidecar
annotation allowing the--enable-debug-sidecar
flag to work when auto-injecting Linkerd proxiesproxy-injector
andsp-validator
controllers when run in high availability mode (thanks to @Pothulapati!)
container so that auto-injection does not fail (thanks @codeman9!)
Fail
in order to account forunexpected errors during auto-inject; this ensures uninjected applications
are not deployed
policies are only in effect if the PSP admission controller is enabled
UPDATE
operation from proxy-injector webhook because pod mutationsare disallowed during update operations
sideEffects
property to
None
to indicate that the webhooks have no side effects onother resources (thanks @Pothulapati!)
traffic splits in TrafficSplit custom resources
linkerd.io/control-plane-ns
label to all Linkerd resourcesallowing them to be identified using a label selector
service for better visibility
@zaharidichev!)
buffered in the proxy
queries to the destination service
@zaharidichev!)
not resolve a destination, the proxy forwards the request with minimal
additional routing logic
large header values to hang indefinitely
before the entire payload is sent to the destination
l5d-override-dst
header is now used for inbound service profilediscovery
response_total
metricsvia the control plane
NET_RAW
capability to the proxy-init container to be compatiblewith
PodSecurityPolicy
s that usedrop: all
:authority
that send requests to many services
connection is reset, rather than propagating the reset to the client
than connection errors
characters in the URI
Material-UI sidebar icons to display consistently with no/limited internet
access (thanks again, @liquidslr!)
for a new, improved dashboard view communicating authority data
of that page is being redesigned
destination name, and identity for proxied connections
"Secured" icon and showing an empty Edges table in the case of no returned
edges
reported in the output without having the tests fail
linkerd upgrade
in order to testupgrading from the latest stable release instead of the latest edge and
reflect the typical use case
linkerd/proxy-init
Gitrepository
Signed-off-by: Kevin Leimkuhler kleimkuhler@icloud.com