Skip to content

soroushmhd/SF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

SF Project

This project utilizes Docker and Kubernetes for implementation. Both Task 1 and Task 2 are implemented using Docker. Furthermore, Task 2 is additionally implemented using Kubernetes.

Description: The SF project consists of two tasks. The first task involves integrating LDAP with other services, such as a MySQL database, to enable users to authenticate across multiple services using a single password. The second task requires the development of a basic Twitter application that utilizes a MySQL database.

Task2 contains the following files:

tables.sql: This script contains the Data Definition Language (DDL) statements to create the relational tables for Twitter schema, along with the necessary constraints.

procedures.sql: This script includes various procedures that execute complex queries in our system.

tw_app.sh: This file serves as a user interface, allowing us to interact with the database through the command-line interface (CLI). It incorporates all the features implemented for our designed Twitter system.

Requirements

Task1

1 server1( Oracle Linux) for Docker host

Installation Docker-compose

Task2

1 server1( Oracle Linux) for Master

2 servers (Oracle Linux) for Workers

**Creating NFS storage provider For Provisioning **

#Install helm to install NFS-Client-Provisioner

wget -4 https://get.helm.sh/helm-v3.6.0-linux-amd64.tar.gz tar -zxvf helm-v3.6.0-linux-amd64.tar.gz sudo cp linux-amd64/helm /usr/local/bin/helm

#Install NFS Server - this might already be installed

sudo dnf install -y nfs-utils

Note: If you have another servers you should install nfs utilities

dnf install nfs-utils nfs4-acl-tools

#Enable service.

sudo systemctl enable --now nfs-server

#Create directory and set permissions

sudo mkdir /mnt/nfs
sudo chown nobody:nobody /mnt/nfs
sudo chmod 755 /mnt/nfs

#Set the export folder and IP Address, IP needs changing based on IP

echo '/mnt/nfs 172.17.0.0/16(rw,sync,no_subtree_check,no_root_squash)' | sudo tee -a /etc/exports

#Note: You should Add "no_root_squash" if you want to use MySQL pods:

chown: changing ownership of '/var/lib/mysql/': Operation not permitted
chown: changing ownership of '/var/lib/mysql': Operation not permitted

#Update exports

sudo exportfs -a

#Install NFS Provisioner from helm

helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
    --set nfs.server=172.17.15.3 \   ### NFS IP Address
    --set nfs.path=/mnt/nfs          ### NFS storage Path

#Set NFS as default storage class

kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

kubectl get storageclass
 

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors