Friday, November 3, 2023

Kubertnes Leanring Outline

Kubernetes Learning Outline For Mac OS

Kubernetes Learning Outline For Mac

1. Environment Setup

File: N/A

Description: Install kubectl and a local Kubernetes cluster like Minikube.

brew install kubectl
brew install minikube

2. Basic Commands

File: N/A

Description: Familiarize yourself with Kubernetes' basic commands.

kubectl get pods
kubectl describe pod 

3. Simple Deployment

File: simple-deployment.yaml

Description: Create a simple Kubernetes Deployment.

yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2

4. Services

File: service.yaml

Description: Expose your application with a Service.

yaml
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80

5. ConfigMaps and Secrets

File: configmap.yaml and secret.yaml

Description: Manage configuration data and secrets.

yaml
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
  some-key: "some-value"
# secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: app-secret
type: Opaque
data:
  password: dGhpc2lzYXNlY3JldA==

6. Persistent Storage

File: persistent-volume.yaml and persistent-volume-claim.yaml

Description: Learn how to use persistent storage with Kubernetes.

yaml
# persistent-volume.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-pv
spec:
  capacity:
    storage: 10Gi
# persistent-volume-claim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  resources:
    requests:
      storage: 5Gi

7. StatefulSets

File: statefulset.yaml

Description: Use StatefulSets for stateful applications.

yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  serviceName: "nginx"
  replicas: 3
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: k8s.gcr.io/nginx-slim:0.8

8. Helm Charts

File: Various .yaml files in a Helm chart directory

Description: Learn how to use Helm for package management.

9. Custom Resource Definitions (CRDs)

File: custom-resource-definition.yaml

Description: Extend Kubernetes by defining your own resources.

10. Networking, RBAC, and Advanced Topics

File: Varies

Description: Dive into advanced topics like networking, Role-Based Access Control (RBAC), and cluster maintenance.

No comments:

Post a Comment

Kubertnes Leanring Outline

Kubernetes Learning Outline For Mac OS Kubernetes Learning Outline For Mac 1. Environment Setup File: N/A Description: Install kube...