Faits :
A.
A._ a déposé une nouvelle demande de prestations de l'assurance-invalidité le 8 juillet 2014, que l'Office de l'assurance-invalidité pour le canton de Vaud (ci-après: l'office AI) a rejetée par décision du 29 août 2017. Par arrêt du 21 février 2018, le Tribunal cantonal du canton de Vaud, Cour des assurances sociales, a annulé cette décision et renvoyé la cause à l'office AI pour instruction complémentaire.
L'office AI a confié un mandat d'expertise au docteur B._, spéciali ste en psychiatrie et psychothérapie, lequel a déposé son rapport le 20 décembre 2019. Par décision du 10 septembre 2020, l'office AI a rejeté la demande au motif que l'assurée ne présentait pas d'atteinte à la santé invalidante au sens de la loi.
B.
A._ a déféré cette décision à l'autorité judiciaire cantonale qui l'a déboutée par arrêt du 8 mars 2021.
C.
A._ interjette un recours en matière de droit public contre cet arrêt dont elle demande l'annulation. A titre principal, elle conclut à l'octroi d'une rente entière d'invalidité à partir du 7 juillet 2014. A titre subsidiaire, elle conclut au renvoi du dossier à l'office AI pour déterminer son taux d'invalidité et, plus subsidiairement, à la mise en oeuvre d'examens et de mesures destinées à éviter une péjoration de son état de santé.

Considérant en droit :
1.
Le recours en matière de droit public peut être formé pour violation du droit, tel qu'il est délimité par les art. 95 et 96 LTF. Le Tribunal fédéral applique le droit d'office (<ref-law>), n'étant limité ni par les arguments de la partie recourante, ni par la motivation de l'autorité précédente. Le Tribunal fédéral n'examine en principe que les griefs invoqués, compte tenu de l'exigence de motivation prévue à l'<ref-law>, et ne peut aller au-delà des conclusions des parties (<ref-law>). Il fonde son raisonnement sur les faits retenus par l'autorité précédente (<ref-law>) sauf s'ils ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'<ref-law> (<ref-law>). La partie recourante qui entend s'écarter des faits constatés doit expliquer de manière circonstanciée en quoi les conditions de l'<ref-law> sont réalisées, sinon un état de fait divergent ne peut être pris en considération (<ref-law>).
2.
2.1. Compte tenu des conclusions et des motifs du recours, le litige porte sur le droit de la recourante à une rente d'invalidité depuis juillet 2014.
2.2. Les premiers juges ont exposé de manière complète les dispositions légales relatives aux notions d'incapacité de travail (<ref-law>), d'invalidité (art. 7 et 8 al. 1 LPGA en relation avec l'<ref-law>) et à son évaluation (<ref-law> et <ref-law>), ainsi que les règles applicables à la libre appréciation des preuves (art. 61 let. c LPGA) et à la valeur probante des rapports médicaux (<ref-ruling> consid. 5.1; <ref-ruling> consid. 3). Il suffit d'y renvoyer.
3.
3.1. Le docteur B._ avait été mandaté en qualité d'expert afin de procéder à une évaluation globale de l'état de santé de la recourante, en vue de définir précisément les diagnostics, les limitations fonctionnelles et de déterminer la capacité résiduelle de travail. Se fondant sur les conclusions de l'expert (cf. rapport du 20 décembre 2019), la juridiction cantonale a constaté que la recourante ne présentait aucun empêchement en raison d'une atteinte à la santé psychique.
3.2. A l'appui de ses conclusions, la recourante se prévaut d'une violation de son droit d'être entendue et du principe de l'interdiction de l'arbitraire, ainsi que d'une constatation manifestement inexacte des faits pertinents. Dans ce contexte, elle allègue que l'appréciation des preuves par la juridiction cantonale serait en définitive fondée sur un "avis invalide" du docteur C._, médecin au Service médical régional, lequel aurait été repris par d'autres médecins et notamment le docteur B._, dont l'expertise présenterait des lacunes, incohérences, contradictions et prises de positions infondées ou contraires aux éléments du dossier. La recourante soutient qu'elle souffre de différentes maladies qui l'empêchent d'exercer une quelconque activité professionnelle, ce qui la rend totalement invalide.
3.3. L'argumentation de la recourante consiste essentiellement à opposer l'appréciation du docteur D._, spécialiste en psychiatrie et psychothérapie, à celle du docteur B._. Ce faisant, elle semble ignorer que les premiers juges ont dûment exposé les motifs qui les ont conduits à reconnaître une valeur probante à l'expertise du docteur B._ et à suivre son avis (cf. consid. 5b-c de l'arrêt attaqué). Or, en leur reprochant de "passer comme chat sur braise" sur le sujet de la conformité de l'expertise au mandat y relatif, elle ne met pas en évidence une violation de son droit d'être entendue. La juridiction cantonale a en effet retenu qu'une description plus précise du parcours de l'assurée par l'expert n'aurait sans doute pas conduit celui-ci à retenir le diagnostic d'état de stress post-traumatique invoqué, puisqu'il n'avait trouvé aucun élément dans le dossier montrant que la recourante aurait développé une symptomatologie manifeste de cet état. En outre, la recourante n'expose pas en quoi l'instance précédente aurait omis de répondre aux éléments qu'elle soutient avoir développés de "manière approfondie" dans son recours cantonal du 14 octobre 2020 à propos du rapport d'expertise; sa motivation, qui procède d'un simple renvoi à des griefs invoqués en première instance, n'est à cet égard pas suffisante (cf. <ref-law>).
Pour le surplus, la recourante ne fait pas état d'éléments cliniques ou diagnostiques concrets et objectifs susceptibles de mettre en cause les conclusions médicales suivies par les premiers juges, ni de motifs propres à établir le caractère arbitraire de leur appréciation. Il ne suffit pas, à cet égard, d'affirmer souffrir de "troubles psychologiques, très handicapants" et de renvoyer aux rapports des médecins traitants, sans discuter des constatations de la juridiction cantonale sur l'absence d'empêchement en raison d'une atteinte à la santé psychique. La seule opposition de l'avis du psychiatre traitant à celui de l'expert n'est pas non plus suffisante.
Vu ce qui précède, le recours est infondé.
4.
La recourante, qui succombe, supportera les frais de la procédure (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Vaud, Cour des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 8 janvier 2022
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Juge présidant : Stadelmann
Le Greffier : Berthoud