Abstract-Cloud computing represents a promising computing paradigm where resources have to be allocated to software that needs to be executed. Self-manageable Cloud infrastructures are required to achieve that level of flexibility on the one hand, and to comply to users' requirements specified by means of Service Level Agreements (SLAs) on the other. Such infrastructures should automatically respond to changing component, workload, and environmental conditions minimizing user interactions with the system and preventing violations of agreed SLAs. However, identification of system states where reactive actions are necessary for the prevention of SLA violations is far from trivial. In this paper we investigate how current knowledge management systems can be used for the prevention of SLA violations in Clouds. First, we define a typical SLA use case and formulate the expected behavior of the knowledge management system in order to prevent possible SLA violations. Second, we investigate different methods for the knowledge management, e.g., situation calculus and case based reasoning (CBR). We discuss how these methods match the expected behavior for SLA violation prevention. We in particular examine the CBR method and devise several approaches for the knowledge management in Clouds based on CBR. Finally, we evaluate our approach based on the presented use case.