Kubernetes入门指南:从零开始掌握容器编排

Kubernetes入门指南

前言

Kubernetes(K8s)是容器编排的事实标准。

安装Docker Containerd


# 安装containerd
apt-get update
apt-get install -y containerd

# 配置containerd
containerd config default > /etc/containerd/config.toml

# 启动containerd
systemctl enable containerd
systemctl start containerd

# 安装crictl
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.28.0/crictl-v1.28.0-linux-amd64.tar.gz
tar xzf crictl-v1.28.0-linux-amd64.tar.gz
mv crictl /usr/local/bin/

# 安装kubeadm
apt-get install -y kubelet kubeadm kubectl
kubeadm init --pod-network-cidr=10.244.0.0/16

核心概念

  • Pod:最小部署单元
  • Deployment:部署无状态应用
  • Service:服务发现
  • ConfigMap:配置管理
  • Secret:密钥管理

示例Deployment


apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25
        ports:
        - containerPort: 80
        resources:
          limits:
            memory: 256Mi
            cpu: 500m
        livenessProbe:
          httpGet:
            path: /healthz
            port: 80
          initialDelaySeconds: 15
          periodSeconds: 20

---
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  selector:
    app: nginx
  ports:
  - port: 80
  targetPort: 80

Service


apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  selector:
    app: nginx
  type: ClusterIP
  ports:
  - port: 80

常用命令


kubectl get pods/deployments/services
kubectl apply -f nginx.yaml
kubectl scale deployment nginx --replicas=5
kubectl logs nginx-pod
kubectl exec -it nginx-pod -- /bin/bash

总结

掌握基础命令和配置即可开始使用。

发表回复

后才能评论