Sachverhalt:
A.
Der 1969 geborene A._ meldete sich im Oktober 2008 bei der Invalidenversicherung zum Leistungsbezug an. Nach Abklärungen - insbesondere Einholung des interdisziplinären Gutachtens der Academy of Swiss Insurance Medicine (asim) vom 25. Juni 2013 und der psychiatrischen Expertise der Klinik B._ vom 23. Dezember 2014 - und Durchführung des Vorbescheidverfahrens ermittelte die IV-Stelle Bern einen Invaliditätsgrad von 27 %. Folglich verneinte sie mit Verfügung vom 2. September 2016 einen Rentenanspruch.
B.
Die dagegen erhobene Beschwerde wies das Verwaltungsgericht des Kantons Bern mit Entscheid vom 6. Dezember 2017 ab.
C.
A._ lässt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragen, unter Aufhebung des Entscheids vom 6. Dezember 2017 sei ihm eine Dreiviertelsrente ab November 2008 auszurichten; eventualiter sei die Sache zur weiteren Abklärung und erneuten Entscheidung an die IV-Stelle zurückzuweisen.
Erwägungen:
1.
Mit der Beschwerde in öffentlich-rechtlichen Angelegenheiten kann u.a. die Verletzung von Bundesrecht gerügt werden (Art. 95 lit. a BGG). Die Feststellung des Sachverhalts kann nur gerügt werden, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von Artikel 95 beruht und wenn die Behebung des Mangels für den Ausgang des Verfahrens entscheidend sein kann (Art. 97 Abs. 1 BGG). Das Bundesgericht legt seinem Urteil den Sachverhalt zugrunde, den die Vorinstanz festgestellt hat (Art. 105 Abs. 1 BGG). Es kann die Sachverhaltsfeststellung der Vorinstanz von Amtes wegen berichtigen oder ergänzen, wenn sie offensichtlich unrichtig ist oder auf einer Rechtsverletzung im Sinne von Artikel 95 beruht (Art. 105 Abs. 2 BGG).
2.
2.1. Die Vorinstanz hat aus somatischer Sicht für körperlich leichte bis mittelschwere Tätigkeiten (ohne häufiges Überkopfarbeiten und längerdauernde Arbeiten in Zwangshaltungen) eine Arbeitsfähigkeit von 80 % festgestellt. Eine psychisch begründete Einschränkung hat sie verneint. Weiter hat sie das Valideneinkommen auf Fr. 68'867.- und das Invalideneinkommen auf Fr. 48'988.- festgelegt. Beim resultierenden Invaliditätsgrad von 29 % hat sie einen Rentenanspruch verneint (vgl. Art. 28 Abs. 2 IVG).
Der Beschwerdeführer beruft sich einzig auf die im Gutachten der Klinik B._ vom 23. Dezember 2014 attestierte Arbeitsunfähigkeit von 50 %, wovon die Vorinstanz zu Unrecht abgewichen sei.
2.2. Das kantonale Gericht hat die medizinische Aktenlage, insbesondere das Gutachten der Klinik B._, ausführlich, zutreffend und im Lichte von BGE 141 V 281 lege artis beurteilt, und zwar auch bezüglich des in der Beschwerde gerügten Punktes der Aggravation. Dies gilt ebenso mit Blick auf die u.a. diagnostizierte mittelgradig depressive Episode und die diesbezügliche neuere Rechtsprechung des Bundesgerichts (vgl. BGE 143 V 409 und 418), zumal die Vorinstanz verbindlich (E. 1) festgestellt hat, dass die verschiedenen Diagnosen nicht Zeichen paralleler Erkrankungen, sondern der Schwierigkeiten bei der diagnostischen Einordnung seien. Somit hat das kantonale Gericht kein Recht verletzt, indem es der im Gutachten der Klinik B._ attestierten Arbeitsunfähigkeit die rechtliche Relevanz abgesprochen hat (vgl. Urteil 8C_409/2017 vom 21. März 2018 E. 4.3, zur Publikation vorgesehen; BGE 141 V 281 E. 5.2 S. 306 f.; 140 V 193).
2.3. Da die Beschwerde offensichtlich unbegründet ist, wird sie im Verfahren nach Art. 109 Abs. 2 lit. a BGG mit summarischer Begründung und unter Hinweis auf den kantonalen Gerichtsentscheid (Abs. 3) erledigt.
3.
Dem Ausgang des Verfahrens entsprechend hat der Beschwerdeführer die Kosten zu tragen (Art. 66 Abs. 1 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten von Fr. 800.- werden dem Beschwerdeführer auferlegt.
3.
Dieses Urteil wird den Parteien, dem Verwaltungsgericht des Kantons Bern und dem Bundesamt für Sozialversicherungen schriftlich mitgeteilt.
Luzern, 24. April 2018
Im Namen der II. sozialrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Pfiffner
Die Gerichtsschreiberin: Dormann