Linkerd
Service mesh for Kubernetes providing observability and security - Essential commands and usage patterns.
Overview
Linkerd is a service mesh used for service mesh for kubernetes providing observability and security. This cheat sheet covers the most commonly used commands and workflows.
Platform Support: Kubernetes Category: Development
Installation
Linux/Ubuntu
# Package manager installation
sudo apt update
sudo apt install linkerd
# Alternative installation methods
wget -O linkerd https://github.com/example/linkerd/releases/latest
chmod +x linkerd
sudo mv linkerd /usr/local/bin/
macOS
# Homebrew installation
brew install linkerd
# Manual installation
curl -L -o linkerd https://github.com/example/linkerd/releases/latest
chmod +x linkerd
sudo mv linkerd /usr/local/bin/
Windows
# Chocolatey installation
choco install linkerd
# Scoop installation
scoop install linkerd
# Manual installation
# Download from official website and add to PATH
Basic Commands
Command | Description |
---|---|
linkerd --help |
Display help information |
linkerd --version |
Show version information |
linkerd init |
Initialize linkerd in current directory |
linkerd status |
Check current status |
linkerd list |
List available options/items |
Common Operations
Basic Usage
# Start linkerd
linkerd start
# Stop linkerd
linkerd stop
# Restart linkerd
linkerd restart
# Check status
linkerd status
Configuration
# View configuration
linkerd config show
# Set configuration option
linkerd config set <key> <value>
# Reset configuration
linkerd config reset
Advanced Operations
# Verbose output
linkerd -v <command>
# Debug mode
linkerd --debug <command>
# Dry run (preview changes)
linkerd --dry-run <command>
# Force operation
linkerd --force <command>
File Operations
Command | Description |
---|---|
linkerd create <file> |
Create new file |
linkerd read <file> |
Read file contents |
linkerd update <file> |
Update existing file |
linkerd delete <file> |
Delete file |
linkerd copy <src> <dst> |
Copy file |
linkerd move <src> <dst> |
Move file |
Network Operations
# Connect to remote host
linkerd connect <host>:<port>
# Listen on port
linkerd listen --port <port>
# Send data
linkerd send --data "<data>" --target <host>
# Receive data
linkerd receive --port <port>
Security Features
Authentication
# Login with credentials
linkerd login --user <username>
# Logout
linkerd logout
# Change password
linkerd passwd
# Generate API key
linkerd generate-key
Encryption
# Encrypt file
linkerd encrypt <file>
# Decrypt file
linkerd decrypt <file>
# Generate certificate
linkerd cert generate
# Verify signature
linkerd verify <file>
Troubleshooting
Common Issues
Issue: Command not found
# Check if installed
which linkerd
# Reinstall if necessary
sudo apt reinstall linkerd
Issue: Permission denied
# Run with sudo
sudo linkerd <command>
# Fix permissions
chmod +x /usr/local/bin/linkerd
Issue: Configuration errors
# Reset configuration
linkerd config reset
# Validate configuration
linkerd config validate
Debug Commands
Command | Description |
---|---|
linkerd --debug |
Enable debug output |
linkerd --verbose |
Verbose logging |
linkerd test |
Run self-tests |
linkerd doctor |
Check system health |
Best Practices
Security
- Always verify checksums when downloading
- Use strong authentication methods
- Regularly update to latest version
- Follow principle of least privilege
Performance
- Use appropriate buffer sizes
- Monitor resource usage
- Optimize configuration for your use case
- Regular maintenance and cleanup
Maintenance
# Update linkerd
linkerd update
# Clean temporary files
linkerd clean
# Backup configuration
linkerd backup --config
# Restore from backup
linkerd restore --config <backup-file>
Integration
Scripting
#!/bin/bash
# Example script using linkerd
# Check if linkerd is available
if ! command -v linkerd &> /dev/null; then
echo "linkerd is not installed"
exit 1
fi
# Run linkerd with error handling
if linkerd <command>; then
echo "Success"
else
echo "Failed"
exit 1
fi
API Integration
# Python example
import subprocess
import json
def run_linkerd(command):
try:
result = subprocess.run(['linkerd'] + command.split(),
capture_output=True, text=True)
return result.stdout
except Exception as e:
print(f"Error: \\\\{e\\\\}")
return None
Environment Variables
Variable | Description | Default |
---|---|---|
LINKERD_CONFIG |
Configuration file path | ~/.linkerd/config |
LINKERD_HOME |
Home directory | ~/.linkerd |
LINKERD_LOG_LEVEL |
Logging level | INFO |
LINKERD_TIMEOUT |
Operation timeout | 30s |
Configuration File
# ~/.linkerd/config.yaml
version: "1.0"
settings:
debug: false
timeout: 30
log_level: "INFO"
network:
host: "localhost"
port: 8080
ssl: true
security:
auth_required: true
encryption: "AES256"
Examples
Basic Workflow
# 1. Initialize
linkerd init
# 2. Configure
linkerd config set host example.com
# 3. Connect
linkerd connect
# 4. Perform operations
linkerd list
linkerd create example
# 5. Cleanup
linkerd disconnect
Advanced Workflow
# Automated deployment
linkerd deploy \
--config production.yaml \
--environment prod \
--verbose \
--timeout 300
# Monitoring
linkerd monitor \
--interval 60 \
--alert-threshold 80 \
--log-file monitor.log
Resources
Official Documentation
Community
Tutorials
Last updated: 2025-07-05