Ethereum 2.0 will be much different from the legacy Ethereum.
ETH1
In 2015, Ethereum launched with 3 official clients funded by the Ethereum Foundation.
- Go-Ethereum (Geth)
- C++-Ethereum (Eth)
- Pyethereum (Pyethapp)
Notably, the C++ and Python client died along the road. Some components from the C++ code-base are extracted and still maintained today, most prominently the Solidity source-code.
The Python client was entirely rewritten from scratch, known as PyEVM or Trinity.
In production, only the Geth client mattered though, along with the Parity Ethereum client (Rust) and the Hyperledger Besu client (Java). Meanwhile Parity dropped support for Ethereum and Gnosis took over the client what we call OpenEthereum today extending its life-support a little.
ETH2
For Ethereum 2.0 there will be no official client, rather a number of third-party clients.
The Sigma Prime team maintains the Lighthouse client (Rust). The PegaSys team maintains the Teku client (Java), and the Prysmatic Labs team Prysm (Go).
Other clients such as Lodestar or Nimbus will play rather niche roles or stopped development altogether (Shasper, Harmony).
Transition
That said, there needs to be an interface between ETH1 and ETH2. Therefore there will be some components integrated for ETH2 in the Geth client. Quoting Peter from the comments:
The current plans is for Geth to be a shard node only, doing what it does best (shuffle transactions, blocks and state) and have ETH2 clients participate in the beacon chain and dictate consensus. Essentially Geth does the chain shuffling, but ETH2 tells it which chain to shuffle. In essence the Geth shards would look like any other private network currently (e.g. Rinkeby, Goerli), just the chain selection delegated out. As for integration, probably two processes over some RPC is the sanest variation to keep components pluggable.
For running a beacon node or validator you would need a client such as Lighthouse or Teku. From what I have tested, the major ETH2 clients all work well together with ETH1 nodes powered by Geth. In addition, the Teku client also maintains good compatibility with Besu.