Giter VIP home page Giter VIP logo

open-cluster-management-io.github.io's People

Contributors

arhell avatar cadawson avatar chenz4027 avatar clyang82 avatar dhaiducek avatar dockerymick avatar elgnay avatar gparvin avatar haoqing0110 avatar itdove avatar jichenjc avatar ldpliu avatar mikeshng avatar morvencao avatar mprahl avatar openshift-ci[bot] avatar openshift-merge-robot avatar pdettori avatar qiujian16 avatar richiepiya avatar skeeey avatar vbelouso avatar xuezhaojun avatar yanmxa avatar ycyaoxdu avatar ydfu avatar yue9944882 avatar zhiweiyin318 avatar zhujian7 avatar zkayyali812 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

open-cluster-management-io.github.io's Issues

clusteradm instructions specify invalid commands

I'm using the latest clusteradm installed from source and the instructions in the Quick Start mention the --wait flag which doesn't exist on both the init and join commands.

Additionally, in the Application Lifecycle addon installation instructions, the clusteradm install command does not exist. I had to follow the directions to install it from source.

bug report: clipboard-copy function

While using the copy function for coping the code snippet, I found it doesn't works properly:

When i clicked the copy of step 2 code snippet 1 here, what i get in my clipboard is :

$ kubectl -n open-cluster-management   get pod   --context ${CTX_HUB_CLUSTER}
NAME                               READY   STATUS    RESTARTS   AGE
cluster-manager-695d945d4d-5dn8k   1/1     Running   0          19d

the non-command lines which don't start with a $ is also been copied.

I'm wondering that if it is ok for just add a judgment rule to the copy function to determine whether the line is stared with $ which means that it is a command should be copied.

add clipboard-copy function to code snippet in OCM instructions

Currently code snippets of the OCM instructions in https://open-cluster-management.io don't have clipboard-copy function, users have to select the code snippet and then copy to clipboard with menu or shortcut. We should add clipboard-copy button for code snippets of the OCM instructions so that users can just copy to clipboard by one click.

A library we can use is github's clipboard-copy library from https://github.com/github/clipboard-copy-element

Getting Started, Community, Contribute - Project website doc edits

Quick Start

Deploy a klusterlet agent on your managed cluster

Accept join request and verify
2. Result looks like the following after csr created:
4. Verify managedcluster has been created successfully:

Bootstrap via Operatorhub.io
Install and create a Klusterlet agent on your managed cluster.

Klusterlet agent

What is next
If the managed cluster status is not true, refer to Troubleshooting to debug on your cluster.

Troubleshooting
The managed cluster status is not true.
For example, the result below is shown when checking managedcluster .
You can use the commands below to get more debug info. If the provided info <remove can’t> doesn't help, please log an issue to us.

If the policy framework depends on Application lifecycle management then maybe that should listed first in the left nav?

Policy framework

Architecture
Need more explanation about the Policy Architecture. The diagram isn't self explanatory. If the info is in the git README let's point to that.

Install from prebuilt images on Quay.io
2. Ensure the pods are running on the hub with the following command:

https://github.com/open-cluster-management/policy-collection

  • Can 'stable' policies be used by the upstream community code? It only says they can be used by the RHACM product.

Application lifecycle management

Need more of an explanation on the architecture and how the components are useful.

Community

Releases

  • v0.4.0 - July 2021
  • v0.5.0 - October 2021

Resources
Is the open-cluster-management, Github links correct? I see midstream repos?

Contribute
Is the repository link correct? I see midstream repos?

https://github.com/open-cluster-management-io/community/blob/main/MISSION.md

  • Need to remove the sentence about Observability, and there may be other parts of the sentences that are not relevant
  • Remove sentence about API for health metrics

https://github.com/open-cluster-management-io/community#community-meetings
Website link appears wrong?
Community meetings link doesn't do anything?

Wrong CRD in scenario "Deploy Kubernetes Resources"

The prereqs state:

  • The CRD AppliedManifestWork is installed in the managed cluster:

    $ kubectl get crd manifestworks.work.open-cluster-management.io 

Shouldn't the specified CRD should be appliedmanifestworks?

Concepts - Project website doc edits

Changes indicated in italics or parenthesis <>.

ManagedCluster

ManagedCluster Registration
The admin user on the hub needs to approve the authn/authz of an agent_ separately by:

  1. approving the certificatesigningrequest initiated by the agent so agent is authenticated to the hub.
    After the admin user on the hub approves the registration of the cluster, a namespace with the same name as the cluster will be created.
    By default, the agent on a cluster is only authorized to access certain resource kinds in this namespace on the hub to ensure security isolation. In addition, the agent will set a status condition in ManagedCluster as Joined and starts to update the liveness of the managed_ cluster.
    In open-cluster-management, registration project implements the registration process.
    It includes an agent in the managed cluster to register to the hub, a controller on the hub cluster to handle authz/authn setup for the agent.

ManagedClusterSet
ManagedClusterSet is a cluster scoped API on the hub cluster to define a group of ManagedCluster.
For instance, you can create dev, staging, prod ManagedClusterSet for different purposes.
Or you can create notrh-america, europe, apac ManagedClusterSet based on the region of the ManagedCluster.
ManagedCluster is to implement the notion in KEP-1645, but we also expand its definition scope for workload placement.
To add a ManagedCluster to a ManagedClusterSet, user needs to set a label open-cluster-management.io/clusterset={clusterset name} on the ManagedCluster.

ClusterClaim
It provides an extension point for other actors in the managed cluster to report certain properties of a managed cluster to the hub. The registration-agent collects all the ClusterClaim in the managed cluster and syncs them in the clusterClaims field in the related ManagedCluster.

ManifestWork

What is ManifestWork
ManifestWork is to define a group of Kubernetes resources on the hub to be applied to the managed cluster. In the open-cluster-management project, a ManifestWork resource must be created in the cluster namespace. A work agent implemented in work project is run on the managed cluster and monitors the ManifestWork resource in the cluster namespace on the hub cluster.

Status tracking
Work agent will track all the resources defined in ManifestWork and update its status.
resourceStatus tracks the status of each manifest in the ManifestWork <remove .> and conditions reflects the overall status of the ManifestWork. Work agent currently checks whether a resource is Available, meaning the resource exists on the managed cluster, and Applied means the resource defined in ManifestWork has been applied to the managed cluster.
Here is an example.

Garbage collection
To ensure the resources applied by ManifestWork are reliably recorded, the work agent creates an AppliedManifestWork on the managed cluster for each ManifestWork as an anchor for resources relating to ManifestWork.

Placement

Bind ManagedClusterSet to a namespace
You can create a ManagedClusterSetBinding as follows to bind the ManagedClusterSet to the default namespace.

Select clusters in ManagedClusterSet
A slice of PlacementDecision will be created by placement controller in the same namespace, each with a label of open-cluster-management.io/placement=placement1. -> not sure what "A slice" means?
PlacementDecision can be consumed by another operand to decide how the workload should be placed in multiple clusters.

Future Work
various workload spread policies.

Add-ons

What is an add-on?
Open-cluster-management has a mechanism to help developers to develop an extension based on the foundation components for the purpose of working with multiple clusters . Examples of add-ons include:
2. A network solution that uses the hub to share network info and establish connection among managed clusters.
In general, if a management tool needs a different configuration for each managed cluster or a secured communication between the managed cluster and hub cluster, it can utilize the add-on mechanism in open-cluster-management to ease the installation and day 2 operation.

Add-on enablement
Each add-on should register itself on the hub by creating a ClusterManagementAddon resource on the hub cluster. For instance, the helloworld add-on can be registered to the hub cluster by creating:
An add-on should also have a controller running on the hub taking responsibility of add-on configuration for each managed cluster. When a user wants to enable the add-on for a certain managed cluster, the user should create a ManagedClusterAddon resource on the cluster namespace. The name of the ManagedClusterAddon should be the same name as the corresponding ClusterManagementAddon. For instance, the following example enables the helloworld add-on in cluster1.

Add-on framework
Addon-framework provides a library for developers to develop an add-on in open-cluster-management more easily.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.