I’ve been experimenting with running a hub cluster that includes:
- Hive installed from community-operators
- Assisted Installer installed from community-operators
- Hypershift installed per its instructions
A hypershift control plane was created with the goal of adding a worker Node to that control plane using assisted-service. The experiment used a boot-it-yourself approach to starting the discovery ISO in a libvirt VM.
oc new-project clusters
Create a Secret containing your pull secret. It should look like this:
apiVersion: v1
kind: Secret
metadata:
name: pullsecret
namespace: clusters
stringData:
.dockerconfigjson: '<your pull secret here>'
Assisted Service requires storage. This scenario uses Local Storage Operator. See the LocalVolume resources.
Use OpenShift to install Hive and Assisted Installer from community-operators.
Create:
- AgentServiceConfig
- HiveConfig
For this experiment I created a CNAME record for the hypershift control plane that references the hub cluster as its target.
api.demohub.ocp.home. IN A 192.168.17.110
*.apps.demohub.ocp.home. IN A 192.168.17.110
api.hs0.ocp.home. IN CNAME api.demohub.ocp.home.
Namespace clusters
:
- HostedCluster
- NodePool
- InfraEnv
Namespace clusters-hs0
(automatically created by hive):
- ClusterDeployment
- AgentClusterInstall
- Create pull secret, ssh-key, HostedCluster, NodePool
- Create ClusterDeployment and AgentClusterInstall
- Create InfraEnv
- Download ISO from InfraEnv's URL and boot it somewhere. Optionally add kernal arg
ip=dhcp
to work around BZ 1967632. - Wait for the Agent resource to appear
- Edit agent. Set: approved=true, role=worker, hostname=something
- Watch installation begin