Last active
October 10, 2024 23:18
-
-
Save CodingMonkTech/cafec3a17d2d29f595b01d5b394b0478 to your computer and use it in GitHub Desktop.
Deploying laravel on kubernetes cluster - Ready to use configuration Files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM php:7.2-fpm | |
COPY app /var/www/ | |
EXPOSE 9000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: ConfigMap | |
metadata: | |
name: nginx-config | |
labels: | |
tier: backend | |
data: | |
config : | | |
server { | |
index index.php index.html; | |
error_log /var/log/nginx/error.log; | |
access_log /var/log/nginx/access.log; | |
root /code/app/public; | |
location / { | |
try_files $uri $uri/ /index.php?$query_string; | |
} | |
location ~ .php$ { | |
try_files $uri =404; | |
fastcgi_split_path_info ^(.+.php)(/.+)$; | |
fastcgi_pass php:9000; | |
fastcgi_index index.php; | |
include fastcgi_params; | |
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |
fastcgi_param PATH_INFO $fastcgi_path_info; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: nginx | |
labels: | |
tier: backend | |
app: nginx | |
spec: | |
replicas: 2 | |
selector: | |
matchLabels: | |
app: nginx | |
tier: backend | |
template: | |
metadata: | |
labels: | |
app: nginx | |
tier: backend | |
spec: | |
volumes: | |
- name: dir | |
hostPath: | |
path: /code | |
- name: config | |
configMap: | |
name: nginx-config | |
items: | |
- key: config | |
path: site.conf | |
containers: | |
- name: nginx | |
image: nginx | |
volumeMounts: | |
- name: dir | |
mountPath: /code | |
- name: config | |
mountPath: /etc/nginx/conf.d | |
ports: | |
- containerPort: 80 | |
name: http | |
protocol: TCP |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
kind: Service | |
apiVersion: v1 | |
metadata: | |
name: nginx | |
labels: | |
tier: backend | |
app: nginx | |
spec: | |
ports: | |
- protocol: TCP | |
port: 80 | |
targetPort: 80 | |
nodePort: 32380 | |
selector: | |
tier: backend | |
app: nginx | |
type: LoadBalancer |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: php | |
labels: | |
tier: backend | |
spec: | |
replicas: 5 | |
selector: | |
matchLabels: | |
app: php | |
tier: backend | |
template: | |
metadata: | |
labels: | |
app: php | |
tier: backend | |
spec: | |
volumes: | |
- name: dir | |
hostPath: | |
path: /code | |
containers: | |
- name: php | |
image: hirenkavad/laravel-k8:1.5.1 | |
volumeMounts: | |
- name: dir | |
mountPath: /code | |
initContainers: | |
- name: install | |
image: busybox | |
volumeMounts: | |
- name: dir | |
mountPath: /code | |
command: | |
- cp | |
- "-r" | |
- "/var/www/." | |
- "/code/app" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: php | |
labels: | |
tier: backend | |
spec: | |
selector: | |
app: php | |
tier: backend | |
ports: | |
- protocol: TCP | |
port: 9000 |
The question is how source code appears in busybox image to copy in mounted /code directory. It doesn't have "/var/www/." directory.
The question is how source code appears in busybox image to copy in mounted /code directory. It doesn't have "/var/www/." directory.
If you could share your updated code that would be great for all @faridmmv . Thanks in advance for your contribution!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Realized that you need to connect your Docker Hub repo to Github and build to load the
README.md
andDockerfile
. I did now and have my first Laravel App image here https://hub.docker.com/r/smart48/laravel-app/dockerfile. Only tagging did not work so I also only have the latest now. But will work that out as well I am sure.