See PXE Setup for overall PXE instructions. This is RHEL/CentOS specific.

Check for latest release.

Eventually spare some bandwith by copying the release from the ISO image,

mkdir mnt/; mount CentOS-7-x86_64-DVD-1708.iso mnt/
ls -ldhF /var/lib/tftpboot/
cp -R mnt/ /var/lib/tftpboot/CentOS7x64-1708/
umount mnt/; rmdir mnt/

and finish-up (namely images/pxeboot is missing) using some mirror.

remote="rsync://mirror.yandex.ru/centos/7.4.1708/os/x86_64"
#remote="rsync://mirror.logol.ru/centos/7.4.1708/os/x86_64"

rsync -avz --delete-after $remote/images/pxeboot/ /var/lib/tftpboot/centos7x64/images/pxeboot/
rsync -avz --delete-after $remote/ /var/lib/tftpboot/centos7x64/

unset remote

Setup the PXE menu,

vi /var/lib/tftpboot/pxelinux.cfg/default

label CentOS
kernel centos7x64/images/pxeboot/vmlinuz
append initrd=centos7x64/images/pxeboot/initrd.img ip=dhcp method=http://10.8.8.1/centos7x64/ text
#repo=http...
#url --url http...

label CentOS Rescue
kernel centos7x64/images/pxeboot/vmlinuz
append initrd=centos7x64/images/pxeboot/initrd.img ip=dhcp method=http://10.8.8.1/centos7x64/ rescue

label CentOS Kickstart FULLY AUTOMATED DANGEROUS
kernel centos7x64/images/pxeboot/vmlinuz
append initrd=centos7x64/images/pxeboot/initrd.img ip=dhcp method=http://10.8.8.1/centos7x64/ ks=http://10.8.8.1/centos7x64.ks text

Refs.