Faits :
A.
Le 9 juin 2015, A._, né en 1962 et employé dans une entreprise de production de verre, a été victime d'un accident. Le cas a été pris en charge par la Caisse nationale suisse d'assurance en cas d'accidents (CNA). En octobre 2015, l'assuré a présenté une demande de prestations de l'assurance-invalidité.
Après avoir octroyé à A._ des mesures d'intervention précoce sous la forme d'un stage d'évaluation brève auprès du Centre X._ du 5 septembre au 2 octobre 2016, l'Office de l'assurance-invalidité du canton de Fribourg (ci-après: l'office AI) a, entre autres mesures d'instruction, mandaté le docteur B._, spécialiste en médecine interne générale et en rhumatologie, pour une expertise (rapport du 16 janvier 2018). Il a ensuite diligenté une expertise pluridisciplinaire auprès du Centre médical d'expertises CEMEDEX de Fribourg. Dans leur rapport du 29 avril 2019, les docteurs C._, spécialiste en médecine interne générale, et D._, spécialiste en psychiatrie et psychothérapie, et la doctoresse E._, spécialiste en médecine physique et réadaptation et en rhumatologie, ont conclu à une incapacité totale de travail dans l'activité habituelle de manutentionnaire et de vitrier et à une capacité de travail entière dans une activité adaptée aux limitations fonctionnelles somatiques de l'assuré, sans diminution de rendement, depuis l'accident du 9 juin 2015. Par décision du 28 juin 2019, l'office AI a nié le droit de A._ à une rente d'invalidité.
B.
Statuant le 14 décembre 2020 sur le recours formé par A._ contre la décision du 28 juin 2019, le Tribunal cantonal du canton de Fribourg, IIe Cour des assurances sociales, l'a rejeté.
C.
A._ interjette un recours en matière de droit public contre cet arrêt dont il demande l'annulation. Il conclut principalement à la reconnaissance du droit à une rente entière de l'assurance-invalidité depuis le 26 octobre 2015. Subsidiairement, il requiert le renvoi de la cause à la juridiction cantonale pour nouvelle décision dans le sens des considérants.

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>). Il n'examine en principe que les griefs invoqués, compte tenu de l'exigence de motivation prévue à l'<ref-law>, et statue par ailleurs sur la base des faits établis 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>). Le recourant qui entend s'en écarter 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 pas être pris en considération.
2.
Les constatations de l'autorité cantonale de recours sur l'atteinte à la santé, la capacité de travail de la personne assurée et l'exigibilité - pour autant qu'elles ne soient pas fondées sur l'expérience générale de la vie - relèvent d'une question de fait et ne peuvent donc être contrôlées par le Tribunal fédéral que sous un angle restreint (<ref-ruling> consid. 3.2). On rappellera, en particulier, qu'il n'y a pas arbitraire du seul fait qu'une solution autre que celle de l'autorité cantonale semble concevable, voire préférable (<ref-ruling> consid. 2.2; <ref-ruling> consid. 6.1). Pour qu'une décision soit annulée pour cause d'arbitraire, il ne suffit pas que sa motivation soit insoutenable; il faut encore que cette décision soit arbitraire dans son résultat (<ref-ruling> consid. 3.4).
3.
3.1. Le litige a trait au droit du recourant à une rente de l'assurance-invalidité. Compte tenu des motifs et conclusions du recours, il s'agit de déterminer si la juridiction cantonale était en droit, d'une part, de se fonder sur les conclusions des experts du CEMEDEX pour admettre que l'assuré disposait d'une capacité de travail entière dans une activité adaptée, sans diminution de rendement, depuis son accident du 9 juin 2015, et, d'autre part, de considérer que cette capacité de travail résiduelle était exploitable économiquement sur un marché du travail équilibré.
3.2. L'arrêt entrepris expose de manière complète les dispositions légales et les principes jurisprudentiels relatifs notamment à la notion d'invalidité (art. 7 et 8 al. 1 LPGA, en lien avec l'<ref-law>) et à son évaluation, ainsi qu'à la valeur probante des rapports médicaux (<ref-ruling> consid. 3) et à la libre appréciation des preuves (art. 61 let. c LPGA). Il suffit d'y renvoyer.
4.
4.1. Dans une première argumentation, A._ se prévaut d'une violation de la maxime inquisitoire, respectivement de son droit d'être entendu, et critique l'appréciation des preuves et l'établissement des faits opérés par la juridiction de première instance. Il lui reproche en particulier de s'être fondée sur le rapport d'expertise pluridisciplinaire du 29 avril 2019, dont il remet en cause la valeur probante, pour admettre qu'il disposait d'une capacité de travail entière dans une activité adaptée, sans diminution de rendement, depuis son accident du 9 juin 2015. Selon l'assuré, les premiers juges n'auraient ainsi à tort tenu compte ni de l'expertise du docteur B._ (rapport du 16 janvier 2018), ni des avis contraires de ses médecins traitants, qui avaient pourtant attesté une incapacité totale de travail.
4.2. Tel qu'invoqué en relation avec le choix des premiers juges de suivre certaines conclusions médicales au détriment d'autres et d'avoir renoncé à ordonner une nouvelle expertise médicale ainsi que l'audition du docteur B._, le grief du recourant tiré de la violation de son droit d'être entendu n'a pas de portée propre par rapport à celui tiré de l'arbitraire dans l'appréciation des preuves (cf. <ref-ruling> consid. 5.3 et les arrêts cités). Dans son argumentation qu'il y a donc lieu d'examiner sous cet angle, le recourant se limite à indiquer que l'expert B._ et les médecins qu'il a consultés ont attesté qu'il présentait une incapacité totale de travailler. Ce faisant, l'assuré ne fait pas état d'éléments cliniques ou diagnostiques concrets et objectifs susceptibles de mettre en cause les conclusions médicales suivies par la juridiction cantonale, ni de motifs susceptibles d'établir le caractère arbitraire de l'appréciation qu'elle en a faite. Les premiers juges ont en effet examiné le rapport d'expertise du docteur B._, ainsi que ceux établis notamment par le docteur F._, spécialiste en médecine interne générale et en médecine tropicale et médecine des voyages, et médecin traitant de l'assuré. Ils ont exposé les raisons pour lesquelles ils ont considéré que l'évaluation du premier ne remplissait pas les exigences fixées par la jurisprudence pour se voir reconnaître une pleine valeur probante, et que les conclusions du médecin traitant ne permettaient pas de remettre en cause les résultats d'une expertise pluridisciplinaire probante. A cet égard, il ne suffit pas, pour remettre en cause la valeur probante de l'expertise du CEMEDEX, d'affirmer que celle-ci est incohérente et que les constatations faites par les experts ne concordent pas avec leurs conclusions. Contrairement aux allégations de l'assuré à l'appui de cette affirmation, les médecins du CEMDEX ont tenu compte du fait qu'il avait dû changer de position à plusieurs reprises durant l'expertise en raison de douleurs dorsales. Ils ont également retenu de manière motivée différentes limitations fonctionnelles entraînées par les lésions importantes au niveau de la colonne vertébrale lombaire et la maladie de Forestier dorsale qu'ils ont diagnostiquées. L'argumentation du recourant consistant à se référer aux rapports de ses médecins traitants tend en définitive à substituer une appréciation différente à celle des premiers juges et à affirmer que la mise en oeuvre de mesures d'instruction complémentaires pourrait apporter des renseignements supplémentaires. Elle n'est dès lors pas suffisante pour mettre en évidence en quoi la juridiction cantonale aurait procédé de manière arbitraire à une appréciation anticipée des preuves (à ce sujet, voir <ref-ruling> consid. 6.3.1) ou aurait établi les faits de manière incomplète. Le recours est mal fondé sur ce point.
5.
5.1. Dans une seconde argumentation, le recourant se prévaut d'une violation de l'<ref-law> et reproche aux premiers juges d'avoir admis qu'il était en mesure d'exploiter sa capacité de travail résiduelle sur un marché du travail équilibré. Il allègue en particulier qu'au vu de son âge, de son absence de formation, de sa mauvaise maîtrise du français, ainsi que de ses limitations fonctionnelles et de ses douleurs, aucune activité autre qu'une activité en atelier protégé ne peut raisonnablement être exigée de lui.
5.2. Selon la jurisprudence, dûment rappelée par la juridiction de première instance, s'il est vrai que des facteurs tels que l'âge, le manque de formation ou les difficultés linguistiques jouent un rôle non négligeable pour déterminer dans un cas concret les activités que l'on peut encore raisonnablement exiger d'un assuré, ils ne constituent pas, en règle générale, des circonstances supplémentaires qui, à part le caractère raisonnablement exigible d'une activité, sont susceptibles d'influencer l'étendue de l'invalidité, même s'ils rendent parfois difficile, voire impossible la recherche d'une place et, partant, l'utilisation de la capacité de travail résiduelle (arrêt 9C_774/2016 du 30 juin 2017 consid. 5.2 et la référence).
5.3. En l'espèce, au vu de son âge, presque 57 ans au moment de l'expertise pluridisciplinaire effectuée en 2019 (sur le moment où la question de la mise en valeur de la capacité [résiduelle] de travail pour un assuré proche de l'âge de la retraite sur le marché de l'emploi doit être examinée, voir <ref-ruling> consid. 3.3), le recourant n'avait pas encore atteint l'âge à partir duquel le Tribunal fédéral admet qu'il peut être plus difficile de se réinsérer sur le marché du travail (sur ce point, voir <ref-ruling> consid. 4.5.2), comme l'ont dûment exposé les premiers juges. La juridiction cantonale a ensuite expliqué de manière convaincante que l'absence de formation du recourant et sa maîtrise imparfaite du français ne constituaient pas un obstacle à l'exercice d'une activité professionnelle non qualifiée, en rappelant du reste que ces circonstances ne l'avaient pas entravé avant d'être atteint dans sa santé puisqu'il avait travaillé durant près d'une vingtaine d'années en Suisse dans différents domaines (bâtiment, agriculture et industrie). Quant aux limitations fonctionnelles retenues par les experts du CEMEDEX, les premiers juges ont considéré qu'elles n'étaient pas contraignantes au point d'exclure l'engagement du recourant par un employeur potentiel, notamment dans le secteur de la production industrielle légère. Au regard de la liste des activités compatibles avec les limitations fonctionnelles établie par l'office intimé (activités comme ouvrier dans la production industrielle légère ou les services, telles que le montage à l'établi, le contrôle des produits finis, la conduite de machines semi-automatiques, l'usinage de pièces légères ou le conditionnement léger), on constate en effet que la juridiction de première instance n'a pas violé le droit en admettant qu'il existait de réelles possibilités d'embauche sur le marché équilibré de l'emploi (à ce sujet, voir arrêt 9C_286/2015 du 12 janvier 2016 consid. 4.2 et les arrêts cités). En conséquence, il n'y a pas lieu de s'écarter des constatations de la juridiction cantonale quant à l'exigibilité d'une capacité de travail totale dans une activité adaptée aux limitations fonctionnelles du recourant dès le 9 juin 2015.
6.
Manifestement mal fondé, le recours doit être rejeté selon la procédure simplifiée de l'<ref-law>.
7.
Le recourant, 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 du recourant.
3.
Le présent arrêt est communiqué aux parties, au Tribunal cantonal du canton de Fribourg, IIe Cour des assurances sociales, et à l'Office fédéral des assurances sociales.
Lucerne, le 31 mai 2021
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président : Parrino
La Greffière : Perrenoud