实战演练:玩转k8s

文章目录

实战1

1.kubernetes技术要点回顾

  • 控制面/数据面
  • yaml
  • Pod
  • Job/CronJob
  • ConfigMap/Secret

2.WordPress 网站基本架构

  • WordPress,MariaDB 这两个应用被封装成了 Pod

3.WordPress 网站搭建步骤

  • 搭建mariadb-pod

    • 创建maria-cm对象

      mariadb-cm.yml

      yaml 复制代码
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: maria-cm
      
      data:
        DATABASE: 'db'
        USER: 'wp'
        PASSWORD: '123'
        ROOT_PASSWORD: '123'
    • 创建maria-pod对象

      mariadb-pod.yml

      yaml 复制代码
      apiVersion: v1
      kind: Pod
      metadata:
        name: maria-pod
        labels:
          app: wordpress
          role: database
      
      spec:
        containers:
        - image: mariadb:10
          name: maria
          imagePullPolicy: IfNotPresent
          ports:
          - containerPort: 3306
      
          envFrom:
          - prefix: 'MARIADB_'
            configMapRef:
              name: maria-cm
      shell 复制代码
      kubectl apply -f mariadb-pod.yml
      kubectl get pod -o wide
  • 搭建WordPress

    • 创建wordPress-cm对象

      wp-cm.yml

      yaml 复制代码
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: wp-cm
      
      data:
        HOST: '172.17.0.2'
        USER: 'wp'
        PASSWORD: '123'
        NAME: 'db'
    • 创建wordPress-pod对象

      wp-pod.yml

      yaml 复制代码
      apiVersion: v1
      kind: Pod
      metadata:
        name: wp-pod
        labels:
          app: wordpress
          role: website
      
      spec:
        containers:
        - image: wordpress:5
          name: wp-pod
          imagePullPolicy: IfNotPresent
          ports:
          - containerPort: 80
      
          envFrom:
          - prefix: 'WORDPRESS_DB_'
            configMapRef:
              name: wp-cm
      shell 复制代码
      kubectl apply -f wp-pod.yml
      kubectl get pod -o wide
  • WordPress Pod 映射端口

    shell 复制代码
    kubectl port-forward wp-pod 8080:80 &
  • 创建反向代理的Nginx

    nginx 复制代码
    server {
      listen 80;
      default_type text/html;
    
      location / {
          proxy_http_version 1.1;
          proxy_set_header Host $host;
          proxy_pass http://127.0.0.1:8080;
      }
    }
    shell 复制代码
    docker run -d --rm --net=host -v ./default.conf:/etc/nginx/conf.d/default.conf nginx:alpine
  • 查看日志

    复制代码
    kubectl logs pod 名称
  • 查看Dashboard

    复制代码
    minikube dashboard
  • 启动minikube

    shell 复制代码
    minikube start   --driver=docker --force --image-mirror-country='cn'  --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers'  --registry-mirror=https://docker.m.daocloud.io   --kubernetes-version=v1.23.3
相关推荐
亚空间仓鼠5 小时前
Docker容器化高可用架构部署方案(六)
docker·容器·架构
前端老曹6 小时前
Docker 从入门到放弃:完整指南
运维·docker·容器
Cat_Rocky6 小时前
k8s-持久化存储,粗浅学习
java·学习·kubernetes
咖啡里的茶i7 小时前
在Docker环境中安装Hadoop cluster 实验报告一
hadoop·docker·容器
汪汪大队u7 小时前
续:从 Docker Compose 到 Kubernetes(2)—— 服务优化与排错
网络·后端·物联网·struts·容器
ILL11IIL8 小时前
k8s的pod管理及优化
云原生·容器·kubernetes
笑洋仟9 小时前
docker的overlay2目录占用磁盘空间很大,清理办法
运维·docker·容器
倔强的胖蚂蚁9 小时前
主流大模型使用指南:Gemma/Llama 全流程
云原生·llama
木雷坞9 小时前
2026 年 5 月国内可用 Docker 镜像源列表与配置方法
运维·docker·容器
埃菲尔铁桶12 小时前
踩坑一周|OpenSandbox + AI Agent 冷启动从 2 分钟降到 1 秒,我们做了这些事
kubernetes