Would that be a better idea to perform kernel upgrade with the help of Recipe. Kernal upgrade requires restart.
Are you asking about upgrading the kernel for nodes of a cluster that has already been deployed? Cloudbreak recipes are run during cluster deployment; they don't come into play after the cluster has been deployed.
If you are asking about doing a kernel during cluster deployment with a recipe, I believe it is technically possible. You probably want to do that as a post installation recipe. However, I advise caution in doing something like this. You might be better served using something like Ansible to manage patch deployment outside of Cloudbreak. Just my two cents.
I also think that if you would like to upgrade kernel after installation then it is better to use Ansible or even SaltStack which is available by default: https://community.hortonworks.com/articles/76139/using-saltstack-to-run-commands-on-hd-cloud-and-cl....
If you wish to use your own OS with own kernel you can take look at the custom images feature: https://docs.hortonworks.com/HDPDocuments/Cloudbreak/Cloudbreak-2.4.1/content/images/index.html