add mysql in ftps

This commit is contained in:
Matthos Denys 2021-03-06 21:53:13 +03:00
parent 566e75b58c
commit ffa97cd1d3
13 changed files with 133 additions and 72 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -1,10 +1,11 @@
#!/bin/bash
kubectl delete svc nginx-service
kubectl delete svc mysql-service
kubectl delete svc mariadb-service
kubectl delete svc phpmyadmin-service
kubectl delete svc ftp-service
kubectl delete svc ftps
kubectl delete deployment nginx-deployment
kubectl delete deployment mysql-deployment
kubectl delete deployment mariadb
kubectl delete deployment phpmyadmin-deployment
kubectl delete deployment ftp-deployment
kubectl delete deployment ftps
kubectl delete pods --all
kubectl delete pv --all

3
run.sh
View File

@ -8,7 +8,7 @@ minikube dashboard &
docker build -t nginx_image srcs/nginx
docker build -t phpmyadmin_image srcs/phpmyadmin
docker build -t mariadb-image srcs/mariadb
docker build -t ftp_image srcs/ftps
docker build -t my_ftps srcs/ftps
kubectl apply -f srcs/yaml/metallb.yaml
kubectl apply -f srcs/yaml/nginx_service.yaml
@ -18,5 +18,4 @@ kubectl apply -f srcs/yaml/ftps.yaml
echo "Minikube IP: ${IP}"
# sh minikubenewpc.sh sh ~/Desktop/ft_services/run.sh

BIN
srcs/.DS_Store vendored

Binary file not shown.

View File

@ -1,11 +1,14 @@
FROM alpine:3.12.3
RUN apk update && apk add vsftpd openssl
RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj "/C=RU/ST=ru/L=Russia/O=21_schoo/CN=mdenys_services" -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/certs/vsftpd.crt
COPY vsftpd.conf /etc/vsftpd/
COPY start.sh .
RUN chmod +x start.sh
RUN adduser -D user
RUN echo "user:user" | chpasswd
RUN chown user:user /home/user
EXPOSE 20 21 21000
CMD sh start.sh
RUN apk update && apk add vsftpd openssl && \
echo "root:root" | chpasswd && \
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 -subj "/C=RU/ST=ru/L=Russia/O=21_schoo/CN=mdenys_services" \
-keyout /etc/ssl/private/vsftpd.key \
-out /etc/ssl/certs/vsftpd.crt
COPY /srcs/vsftpd.conf /etc/vsftpd
COPY /srcs/start.sh /
EXPOSE 21 30020 30021
ENTRYPOINT sh start.sh

3
srcs/ftps/srcs/start.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/sh
vsftpd /etc/vsftpd/vsftpd.conf

View File

@ -0,0 +1,53 @@
[global_tags]
[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = ""
debug = false
quiet = false
logfile = ""
hostname = "ftps"
omit_hostname = false
###############################################################################
# OUTPUT PLUGINS #
###############################################################################
[[outputs.influxdb]]
urls = ["http://influxdb:8086"]
database = "telegraf"
retention_policy = ""
write_consistency = "any"
timeout = "5s"
username = "admin"
password = "passwd"
###############################################################################
# INPUT PLUGINS #
###############################################################################
[[inputs.cpu]]
percpu = false
totalcpu = true
collect_cpu_time = true
fielddrop = ["time_guest","time_guest_nice","time_irq","time_nice","time_softirq","time_steal","usage_guest","usage_guest_nice","usage_irq","usage_nice","usage_softirq","usage_steal"]
interval = "2s"
[[inputs.disk]]
mount_points = ["/","/var","/data"]
fielddrop=["used","inodes_used"]
[[inputs.mem]]
fielddrop=["active","buffered","cached","free","inactive","used","used_percent"]
[[inputs.processes]]
[[inputs.swap]]
fielddrop=["free","total"]
[[inputs.system]]
fielddrop=["n_users","uptime_format"]
[[inputs.nstat]]
interval = "2s"
proc_net_netstat = "" # this is of interest.
fieldpass = ["IpExtOutOctets","IpExtInOctets"]

View File

@ -0,0 +1,16 @@
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to blah FTP service.
listen=YES
seccomp_sandbox=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
ssl_enable=YES
pasv_address=192.168.99.150
pasv_min_port=30020
pasv_max_port=30021

View File

@ -1 +0,0 @@
vsftpd /etc/vsftpd/vsftpd.conf

View File

@ -1,26 +0,0 @@
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
listen=YES
dirmessage_enable=YES
xferlog_enable=YES
pam_service_name=vsftpd
pasv_enable=YES
pasv_min_port=21000
pasv_max_port=21000
port_enable=YES
allow_writeable_chroot=YES
seccomp_sandbox=NO
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
pasv_address=192.168.99.100
chroot_local_user=YES
background=NO

View File

@ -1,50 +1,66 @@
apiVersion: v1
kind: Service
metadata:
name: ftp-service
labels:
app: ftps
name: ftps
annotations:
metallb.universe.tf/allow-shared-ip: minikube
metallb.universe.tf/address-pool: minikube
spec:
selector:
app: ftp
ports:
- name: ftp
protocol: TCP
port: 21
targetPort: 21
- name: ftp-passive
protocol: TCP
port: 2100
targetPort: 2100
- name: ftp-port
protocol: TCP
port: 20
targetPort: 20
- name: data
port: 20
targetPort: 20
- name: ftps
port: 21
protocol: TCP
targetPort: 21
- name: ftps-pasv20
port: 30020
protocol: TCP
targetPort: 30020
- name: ftps-pasv
port: 30021
protocol: TCP
targetPort: 30021
selector:
app: ftps
type: LoadBalancer
externalIPs:
- "192.168.99.150"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ftp-deployment
labels:
app: ftps
name: ftps
spec:
replicas: 1
selector:
matchLabels:
app: ftp
app: ftps
template:
metadata:
labels:
app: ftp
app: ftps
spec:
containers:
- name: ftp
image: ftp_image
- image: my_ftps
resources:
limits:
memory: "128Mi"
cpu: "50m"
imagePullPolicy: Never
name: ftps
ports:
- containerPort: 21
- containerPort: 2100
- containerPort: 20
name: ftp
- containerPort: 30020
- containerPort: 30021
volumeMounts:
- mountPath: "/var/lib/mysql"
name: mariadb-pv
volumes:
- name: mariadb-pv
persistentVolumeClaim:
claimName: mariadb-pvc

View File

@ -23,9 +23,6 @@ spec:
selector:
matchLabels:
app: mariadb
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:

View File

@ -9,4 +9,4 @@ data:
- name: default
protocol: layer2
addresses:
- 192.168.99.100-192.168.99.200
- 192.168.99.150-192.168.99.200