Laravel 狙击库伯内特斯不跑

Laravel 狙击库伯内特斯不跑,laravel,docker,kubernetes,Laravel,Docker,Kubernetes,我正在尝试在k8s集群上部署snipe it 我在kubernetes上运行mysql 我想在kubernetes上部署snipe it应用程序 我的yaml文件是 apiVersion: v1 kind: Service metadata: name: snipeit labels: app: snipeit spec: ports: - port: 80 selector: app: snipeit tier: frontend type:

我正在尝试在k8s集群上部署snipe it

我在kubernetes上运行mysql

我想在kubernetes上部署snipe it应用程序

我的yaml文件是

apiVersion: v1
kind: Service
metadata:
  name: snipeit
  labels:
    app: snipeit
spec:
  ports:
    - port: 80
  selector:
    app: snipeit
    tier: frontend
  type: LoadBalancer
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: snipeit-pv-claim
  labels:
    app: snipeit
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: snipeit
  labels:
    app: snipeit
spec:
  selector:
    matchLabels:
      app: snipeit
      tier: frontend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: snipeit
        tier: frontend
    spec:
      containers:
      - image: snipe/snipe-it
        name: snipeit
        env:
        - name: DB_CONNECTION
          value: mysql
        - name: DB_HOST
          value: mysql
        - name: DB_USERNAME
          value: root
        - name: DB_DATABASE
          value: snipeit
        - name: APP_URL
          value: url
        - name: DB_PASSWORD
          value: password
        ports:
        - containerPort: 80
          name: snipeit
        volumeMounts:
        - name: snipeit-persistent-storage
          mountPath: /var/www/html
      volumes:
      - name: snipeit-persistent-storage
        persistentVolumeClaim:
          claimName: snipeit-pv-claim
这不起作用

我使用的图像来自docker hub:

https://hub.docker.com/r/snipe/snipe-it
github狙击它:
https://github.com/snipe/snipe-it

容器开始运行,但我在容器内登录并检查var/www/html,但没有内容
apiVersion: v1
kind: ConfigMap
metadata:
  name: snipe-it-config
data:
  # Mysql Parameters
  MYSQL_PORT_3306_TCP_ADDR: "address"
  MYSQL_PORT_3306_TCP_PORT: "3306"
  MYSQL_DATABASE: "snipeit"
  MYSQL_USER: "user"
  MYSQL_PASSWORD: "pass"

  # Email Parameters
  # - the hostname/IP address of your mailserver
  MAIL_PORT_587_TCP_ADDR: "<smtp-host>"
  #the port for the mailserver (probably 587, could be another)
  MAIL_PORT_587_TCP_PORT: "587"
  # the default from address, and from name for emails
  MAIL_ENV_FROM_ADDR: "noreply@mydomain.com"
  MAIL_ENV_FROM_NAME: "Snipe-IT"
  # - pick 'tls' for SMTP-over-SSL, 'tcp' for unencrypted
  MAIL_ENV_ENCRYPTION: "tls"
  # SMTP username and password
  MAIL_ENV_USERNAME: "<smtp-username>"
  MAIL_ENV_PASSWORD: "<smtp-password>"

  # Snipe-IT Settings
  APP_ENV: "production"
  APP_DEBUG: "false"
  APP_KEY: "key"
  APP_URL: "http://127.0.0.1:80"
  APP_TIMEZONE: "Asia/Kolkata"
  APP_LOCALE: "en"
---
apiVersion: v1
kind: Service
metadata:
  name: snipeit
  labels:
    app: snipeit
spec:
  ports:
    - port: 80
  selector:
    app: snipeit
    tier: frontend
  type: LoadBalancer
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: snipeit
  labels:
    app: snipeit
spec:
  selector:
    matchLabels:
      app: snipeit
      tier: frontend
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: snipeit
        tier: frontend
    spec:
      containers:
      - image: snipe/snipe-it
        name: snipeit
        envFrom:
            - configMapRef:
                name: snipe-it-config
        ports:
        - containerPort: 80
          name: snipeit
        volumeMounts:
        - name: snipeit-persistent-storage
          mountPath: /var/lib/snipeit
      volumes:
      - name: snipeit-persistent-storage
        persistentVolumeClaim:
          claimName: snipeit-pv-claim
种类:配置地图 元数据: 名称:snipe it config 数据: #Mysql参数 MYSQL\u端口\u 3306\u TCP\u地址:“地址” MYSQL\u端口\u 3306\u TCP\u端口:“3306” MYSQL_数据库:“snipeit” MYSQL\u用户:“用户” MYSQL_密码:“通过” #电子邮件参数 #-邮件服务器的主机名/IP地址 邮件\u端口\u 587\u TCP\u地址:“ #邮件服务器的端口(可能是587,可能是另一个) 邮件\u端口\u 587\u TCP\u端口:“587” #电子邮件的默认发件人地址和发件人名称 从地址发送邮件至环境地址:noreply@mydomain.com" 从“Snipe IT”发送邮件给“ENV” #-选择“tls”表示通过SSL的SMTP,选择“tcp”表示未加密 邮件环境加密:“tls” #SMTP用户名和密码 MAIL_ENV_用户名:“ 邮件环境密码:“ #狙击设置 应用程序环境:“生产” 应用程序调试:“错误” 应用程序键:“键” 应用程序URL:“http://127.0.0.1:80" APP_时区:“亚洲/加尔各答” 应用程序语言环境:“en” --- 版本:v1 种类:服务 元数据: 姓名:鹬 标签: 应用程序:snipeit 规格: 端口: -港口:80 选择器: 应用程序:snipeit 层:前端 类型:负载平衡器 --- apiVersion:apps/v1beta2 种类:部署 元数据: 姓名:鹬 标签: 应用程序:snipeit 规格: 选择器: 火柴标签: 应用程序:snipeit 层:前端 战略: 类型:重新创建 模板: 元数据: 标签: 应用程序:snipeit 层:前端 规格: 容器: -图片:狙击/狙击它 姓名:鹬 来自: -configMapRef: 名称:snipe it config 端口: -集装箱港口:80 姓名:鹬 体积数量: -名称:snipeit持久存储 挂载路径:/var/lib/snipeit 卷数: -名称:snipeit持久存储 persistentVolumeClaim: 索赔名称:snipeit pv索赔
我没有使用configmap,而是在部署部分添加了环境变量和参数……所以只添加了configmap,它就顺利启动并运行了

您有一个PVC,但是您的PV来自哪里?您可能需要手动调配a,具体取决于您的环境,或者最好通过定义a来使用动态调配。好的,我将在公司进行检查,非常感谢您的回答。谢谢…我想我弄错了好吧,这已经有些进展了。建议您尝试一下我整合的其中一个东西来调试这一个。@MichaelHausenblas我很抱歉…我的配置有错误…我更改了它…它已经启动并运行了…非常感谢您的帮助…祝您有一个愉快的一天…谢谢欢迎您。我现在建议你自己回答下面的问题(并接受正确答案)。为什么?这就是它的工作原理,你分享你的经验,并从中受益。