实战演练:玩转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
相关推荐
sbjdhjd4 分钟前
04 (下) | K8S微服务实战:从 Service 到金丝雀发布
运维·微服务·云原生·kubernetes·开源·云计算·excel
Plastic garden14 分钟前
K8s知识(5) Kubernetes 存储 PV
kubernetes
java_cj24 分钟前
K8s入门第一课:从零理解Kubernetes核心概念与架构设计
运维·云原生·容器·架构·kubernetes
半亩码田31 分钟前
【.NET新特性·第5篇】.NET 9 速览:云原生与性能之年
云原生·.net
Plastic garden39 分钟前
K8s知识(4)Kubernetes 存储 volume
云原生·容器·kubernetes
qq_4523962341 分钟前
第四篇:《Pod:K8s 中最小的部署单元》
云原生·容器·kubernetes
_codemonster44 分钟前
K8s / K3s 通用 Kubectl 命令大全(表格版)
linux·docker·kubernetes
虎妞05001 小时前
云原生 AI 推理部署:Kubernetes 实战指南
云原生·kubernetes·容器化·kubeflow·ai部署
java_cj1 小时前
10分钟部署K8s集群:kubeadm极简安装指南
云原生·容器·架构·kubernetes
牛奶咖啡131 小时前
CI/CD——通过Jenkins插件实现与K8s集成并部署应用到k8s集群的实践保姆级教程
ci/cd·kubernetes·jenkins·jenkins安装k8s插件·jenkins对k8s配置凭据·jenkins配置pod模板·编写流水线脚本部署应用到k8s