How do I create a ClockworkMod installation package?
The required part of a kernel .zip file looks like this:

META-INF
    com
        google
            android
                update-binary
                updater-script


You'll also want to have the kernel zImage file somewhere else, easiest if you just have it in the root of the archive.

updater-script contains the following at minimum (assumes zImage in the root):

assert(package_extract_file("zImage", "/tmp/zImage");
       write_raw_image("/tmp/zImage", "/dev/block/mmcblk0p8");
       delete("/tmp/zImage")
);


You can also do things like show a progress bar, print messages, wipe /cache, and so on.

You'll want to grab update-binary from another kernel package for the SGS2.  One at random is attached to this XDA post.

I tested this method on my SGS Vibrant without issue, using a kernel from an Odin package and an update-binary from another Vibrant kernel .zip.  Note that this is perfectly safe as long as you're writing to the correct partition -- for the Vibrant it was bml17, for the SGS2 it appears to be mmcblk0p5 (based on the kernel from XDA I linked above) or mmcblk0p8 if you're flashing an entire boot image (see comments below).  You'll want to verify it for sure.  Worst case your kernel doesn't work and you flash a known good one.