k8s 前端工程静态文件部署

基础命令:

k8s命名空间  namespace

k8s 查看pod 

kubectl get pod -n namespace k8s宕机,无法启动,查看报错

k8s查看pv

kubectl get pv\pvc

journalctl -u kubelet -e

实战:

k8s挂载前端工程

1、创建pvc、pv 让磁盘共享,这样不管哪个机器都能共享读取静态文件,把文件放到挂载盘,同时做目录映射

# -----csdn 原创小小大D-------
apiVersion: v1
kind: PersistentVolume
metadata:
  name: app-admin-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Delete
  storageClassName: admin-storage
  local:
    path: /home/app/app-admin/manager
  nodeAffinity:
    required:
      nodeSelectorTerms:
        - matchExpressions:
            - key: kubernetes.io/hostname
              operator: In
              values:
                - k8s-node-1-210
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: app-admin-pvc
  namespace: app
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  storageClassName: admin-storage

2、创建服务和pod节点

# -----csdn 原创小小大D-------
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app-admin
  namespace: app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app-admin
  template:
    metadata:
      labels:
        app: app-admin
    spec:
      containers:
      - name: app-admin
        image: nginx:1.17
        ports:
        - containerPort: 9003
        volumeMounts:
        - name: static-volume
          mountPath: /www/manager # 容器中的挂载路径
        - name: app-admin-conf
          mountPath: /etc/nginx/nginx.conf # 容器中的挂载路径
          subPath: nginx.conf
      volumes:
      - name: static-volume
        persistentVolumeClaim:
          claimName: app-admin-pvc
      - name: app-admin-conf
        configMap:
          name: app-admin-conf
---
apiVersion: v1
kind: Service
metadata:
  name: app-admin
  namespace: app
spec:
  ports:
    - name: app-admin
      port: 9003
  selector:
    app: app-admin
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: app-admin-conf
  namespace: app
data:
  nginx.conf: |
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        client_max_body_size 50m;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       9003;
            server_name  localhost;
            root   /www;
            location / {
               index  index.html index.htm;
            }
        }
    }

3、对外访问

 k8s 挂载tls

# -----csdn 原创小小大D-------
kubectl create secret tls app.cn-tls \
    --namespace app\
    --key ./app.cn.key \
    --cert ./app.cn.crt

4、挂载ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: app
  name: app.cn
spec:
  ingressClassName: nginx
  defaultBackend:
    service:
      name: app-admin
      port:
        number: 9003
  rules:
    - host: app.cn #--换实际域名
      http:
        paths:
          - backend:
              service:
                name: app-admin
                port:
                  number: 9003
            path: /manager
            pathType: Prefix
  tls:
    - hosts:
        - app.cn #--换实际域名
      secretName: app.cn-tls

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值