The API server is the front door to your Kubernetes cluster. Every kubectl command, every controller, every pod communicates through it. Securing the API server is paramount.

Authentication Methods

Disable Anonymous Authentication

YAML
--anonymous-auth=false
Click to expand and view more

Use Strong Authentication

Prefer these methods:

OIDC Configuration

YAML
--oidc-issuer-url=https://accounts.google.com
--oidc-client-id=kubernetes
--oidc-username-claim=email
--oidc-groups-claim=groups
Click to expand and view more

Authorization

Enable RBAC

YAML
--authorization-mode=Node,RBAC
Click to expand and view more

Never use:

TLS Configuration

Strong Cipher Suites

YAML
--tls-cipher-suites=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
--tls-min-version=VersionTLS12
Click to expand and view more

Admission Controllers

Enable essential admission controllers:

YAML
--enable-admission-plugins=NodeRestriction,PodSecurity,ServiceAccount
Click to expand and view more

Key Controllers

Rate Limiting

Protect against DoS:

YAML
--max-requests-inflight=400
--max-mutating-requests-inflight=200
Click to expand and view more

Network Security

Audit Everything

Enable comprehensive audit logging as discussed in our audit logging post.

Checklist

The API server is your most critical component—secure it accordingly.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut