Skip to content

Commit ce4cc9a

Browse files
Merge pull request #72 from beopencloud/readme-refont
Readme refont
2 parents 032b844 + 1a122b3 commit ce4cc9a

File tree

10 files changed

+319
-212
lines changed

10 files changed

+319
-212
lines changed

README.md

+11-97
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,20 @@
1-
# CNO<br/>Cloud Native Onboarding
1+
# CNO<br/>Cloud Native Onboarding - DOCUMENTATION
22
Onboard, Deploy, Manage and Secure microservices on Kubernetes
33

44
CNO is an open source platform to onboard easily and securely development teams on multi-cloud Kubernetes clusters from a single console.
55

6-
* [Why CNO](#why-cno)
7-
* [Get Started](#quick-installation)
8-
* [Architecture and components](#architecture-overview-and-components)
9-
* [Quick Installation](#quick-installation)
10-
* [Register a cluster into CNO HUB](#register-a-cluster-into-cno-hub)
6+
* [Concept](#Concept)
7+
* [Architecture and System Requirements](#Architecture-and-System-Requirements)
8+
* [Installation](#Installation)
9+
* [Configuration](#Configuration)
10+
* [Tutorials](#Tutorials)
1111

12-
# Supported Platforms
12+
# Concept
1313

14-
1. Amazon Elastic Kubernetes Service (EKS)
15-
2. Google Kubernetes Engine (GKE)
16-
3. Azure Kubernetes Service (AKS)
17-
4. RedHat Hat OpenShift Container Platform
18-
5. VMware Tanzu
19-
6. Rancher
20-
7. Scaleway Kubernetes Kapsule
21-
8. Any other kubernetes distribution
14+
# Architecture and System Requirements
2215

23-
# Why CNO
16+
# Installation
2417

25-
In 2021, running a Kubernetes or OpenShift cluster has never been easy. It's possible to bootstrap a Production Cluster on any platform in a few minutes. But most companies still struggle to know the best way to onboard all teams and are not really taking advantage of Kubernetes ecosystem. A well executed and secured Cloud Native platform project can offer an ROI up to 531%.
26-
CNO is built on the idea of filling the gap of adoption and avoid mistakes by:
27-
- Setting up the best onboarding process for your existing teams and ecosystem
28-
- Hiding Kubernetes complexity
29-
- Managing from a single console your multi-cloud Kubernetes clusters
30-
- Taking advantages of Kubernetes and DevOps by going faster to Production with deployments advanced strategies like Blue Green and Canary
31-
- Leveraging Visibility and centralized management into your IAM strategy
32-
- Ensuring that your clusters are compliant to your Standards and Governance Policies
18+
# Configuration
3319

34-
# Architecture overview and components
35-
![Architecture](image/arch.png)
36-
37-
CNO is an open source project mainly made up of 8 modules.
38-
1. CNO Console
39-
2. CNO API
40-
3. CNO CLI (cnoctl)
41-
4. CNO Agent installed in each kubernetes Cluster
42-
5. CNO OpenShift Operators
43-
6. CNO CD Operators
44-
7. CNO Kubernetes Operators
45-
8. CNO Notification
46-
47-
48-
# Quick Installation
49-
50-
## Prerequisites
51-
52-
Kubernetes **v1.16** or higher is supported by CNO.
53-
54-
**Important** Make sure your kubectl CLI is correctly configured. If you need help to configure Kubernetes environnement, follow [kubectl configuration ](configure-kube.md) documentation.
55-
56-
**Important** If you are a beginner and don't have a Kubernetes cluster ready to use, you can follow [Bootstrap kubernetes Cluster on any cloud provider in 1 minute](bootstrap-kube.md) documentation.
57-
58-
59-
#### Define your Ingress Controller multidomain.
60-
61-
62-
```
63-
export INGRESS_DOMAIN=apps.example.com
64-
```
65-
If your INGRESS_DOMAIN is **apps.example.com**, CNO will create **cno.apps.example.com** ingress ressource.
66-
67-
Your Ingress Controller needs to support SSL passthrough. Most Ingress controllers (NGINX, OpenShift Router and Traefic) support SSL passthrough. Make sure that SSL passthrough parameter is activated in your Kubernetes Ingress Controller or OpenShift Router.
68-
69-
**Important** If you are a beginner and don't have an ingress controller in your Kubernetes cluster ready to use, you can follow [Install NGINX INGRESS Controller](bootstrap-ingress.md) documentation.
70-
71-
##### AWS Elastic Kubernetes Service (EKS) and Azure Kubernetes Service (AKS)
72-
73-
If you installed CNO in a Kubernetes cluster with PSP (Pod Security Policy) activated such as EKS and AKS, run the following command.
74-
75-
```
76-
export CNO_POD_POLICY_ACTIVITED=true
77-
```
78-
79-
### Install CNO
80-
81-
```
82-
export CNO_VERSION=main
83-
curl -sSL https://raw.githubusercontent.com/beopencloud/cno/$CNO_VERSION/scripts/control-plane/install.sh | sh
84-
```
85-
86-
#### Enjoy
87-
88-
You can login to your CNO console via cno.$INGRESS_DOMAIN.
89-
You will see CNO URL and credentials into post installation outpout.
90-
91-
```
92-
============================================================
93-
INFO CNO installation success.
94-
cno.apps.example.com CNO Credentials USERNAME: admin PASSWORD: xxxxxxxxxxxxxxxx
95-
============================================================
96-
```
97-
98-
Now you can start onboarding your IT teams, projects and add clusters into CNO HUB.
99-
100-
# Register a cluster into CNO Hub
101-
102-
1. In the CNO Console, go to the clusters Hub page.
103-
2. Select Add Cluster.
104-
3. Enter a name for the cluster.
105-
4. Enter the cluster type (***EKS, AKS , GKE, Kubernetes or OpenShift***) and click on Add Cluster
106-
5. Copy outpout commands and install CNO agent in your new cluster.
20+
# Tutorials

deploy/control-plane/ingress/nginx/api-ingress.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,3 @@ spec:
1919
- backend:
2020
serviceName: cno-api
2121
servicePort: 80
22-
path: /

deploy/control-plane/ingress/nginx/notification-ingress.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,3 @@ spec:
1818
- backend:
1919
serviceName: cno-notification
2020
servicePort: 3000
21-
path: /

deploy/control-plane/ingress/nginx/ui-ingress.yaml

-1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,3 @@ spec:
1818
- backend:
1919
serviceName: cno-ui
2020
servicePort: 80
21-
path: /
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
apiVersion: kafka.strimzi.io/v1beta1
2+
kind: Kafka
3+
metadata:
4+
name: cno-kafka-cluster
5+
spec:
6+
kafka:
7+
version: 2.5.0
8+
replicas: 1
9+
listeners:
10+
- name: plain
11+
port: 9092
12+
type: internal
13+
tls: false
14+
- name: tls
15+
port: 9093
16+
type: internal
17+
tls: true
18+
authentication:
19+
type: tls
20+
- name: external
21+
port: 9094
22+
type: route
23+
tls: true
24+
authentication:
25+
type: tls
26+
configuration:
27+
bootstrap:
28+
host: bootstrap-cno.INGRESS_DOMAIN
29+
brokers:
30+
- broker: 0
31+
host: broker-0-cno.INGRESS_DOMAIN
32+
- broker: 1
33+
host: broker-1-cno.INGRESS_DOMAIN
34+
- broker: 2
35+
host: broker-2-cno.INGRESS_DOMAIN
36+
authorization:
37+
type: simple
38+
superUsers:
39+
- CN=cno-kafka-superadmin
40+
config:
41+
offsets.topic.replication.factor: 1
42+
transaction.state.log.replication.factor: 1
43+
transaction.state.log.min.isr: 1
44+
log.message.format.version: "2.5"
45+
storage:
46+
type: ephemeral
47+
zookeeper:
48+
replicas: 1
49+
storage:
50+
type: ephemeral
51+
entityOperator:
52+
topicOperator: {}
53+
userOperator: {}

0 commit comments

Comments
 (0)