A microkernel is one kind of a kernel implementation.
Liedtke explains in On Microkernel Construction (or from TU Dresden, or from ACM) that a microkernel attempts to minimize the mandatory part of the operating system by providing the minimal number of mechanisms that maximize the flexibility of implementation (by imposing minimal policy) while allowing the efficient implementation of the remainder of the system.
The idea of a microkernel as explained above was first explored by Per Brinch-Hansen in 1970 in The Nucleus of a Multiprogramming System.
An introduction by Úlfar Erlingsson and Athanasios Kyparlis (from 1996) to microkernel concepts.
A 2002 article about microkernel FUD (Fear, Uncertainty, Doubt).