Network function virtualization (NFV) is a technique to facilitate service deployment by decoupling network functions from dedicated hardware and moving them to software, namely virtual network functions (VNFs). Network services are carried out by service function chains (SFCs) comprising multiple VNFs. Given SFCs and physical machines (PMs), the VNF deployment problem asks how to assign each SFC's VNFs to PMs, such that the service ratio is maximized. Many methods use as few PMs as possible for deploying VNFs, but they lead to imbalanced loads of PMs in a cloud network. This paper proposes a load-balanced VNF deployment (LBVD) scheme, which scores each PM based on the expected ratios of residual resources of that PM and its neighbors. Then, VNFs are deployed on PMs with high scores. If a PM is busy, LBVD lets its VNF migrate to another PM for load sharing. Through simulations, we show that LBVD can balance the loads of PMs and save both deployment and migration costs.