コンテンツにスキップ

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