XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    CoreOS - Docker on XCP-ng working (ish) - Hopefully this helps someone

    Scheduled Pinned Locked Moved Compute
    4 Posts 3 Posters 2.3k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      jmccoy555
      last edited by jmccoy555

      So after parking CoreOS for nearly a year, and after noticing some edits and commits had been made I decided to give it another go; this time with success…. Yipppeee

      • XCP-ng 8.0.0 with latest patches
      • CoreOS version is Container Linux 2303.3.0
      • XO from sources - xo-server 5.54.0

      There are a few buts and pointers though!!

      Deploying the VM did not work from XO (from sources, just a homelabber here); the config disc was not created.

      So reverting to XCP-ng Centre…….

      Following https://github.com/xcp-ng/xcp/wiki/Docker-in-XCP-ng for general guidance – BUT I was unable to log in with my SSH key.

      This is fixed by enclosing the key in “ “ thus, my cloud-config was

      #cloud-config
      
      hostname: %VMNAMETOHOSTNAME%
      ssh_authorized_keys:
        - “ssh-rsa AAAAB3NzaC……………………..syQ4cJYnG70BqQJZVqo5fGcIQP9j5UY1 user@host"
        # - ssh-rsa <Your public key>
        # The following entry will automatically be replaced with a public key
        # generated by container management plugin. The key-entry must exist,
        # in order to enable container management for this VM.
        - ssh-rsa %CONTAINERRSAPUB%
      coreos:
        units:
          - name: etcd-member.service
            command: start
      
          # Hypervisor Linux Guest Agent
          - name: xe-linux-distribution.service
            command: start
            content: |
              [Unit]
              Description=Hypervisor Linux Guest Agent
              After=docker.service
      
              [Service]
              ExecStartPre=/media/configdrive/agent/xe-linux-distribution /var/cache/xe-linux-distribution
              ExecStart=/media/configdrive/agent/xe-daemon
        etcd:
          name: %VMNAMETOHOSTNAME%
          # generate a new token for each unique cluster from https://discovery.etcd.io/new?size=3
          # specify the initial cluster size using ?size=X
          # discovery: "https://discovery.etcd.io/<token>"
      write_files:
        # Enable ARP notifications for smooth network recovery after migrations
        - path: /etc/sysctl.d/10-enable-arp-notify.conf
          permissions: 0644
          owner: root
          content: |
            net.ipv4.conf.all.arp_notify = 1
      
      
      # Template loaded from /usr/lib/python2.7/site-packages/xscontainer/data/cloud-config.template
      

      Following the rest of the guide everything appeared to go well.

      Launching a container and then the next issue, it doesnt show in XO or XCP-ng Centre. Following this post https://xcp-ng.org/forum/topic/1679/how-to-fix-coreos-docker-container-tree-view-in-xcp-ng-center/2 and vola, all working.

      Now I have a working mater a fast clone avoids any of these issues for additioanl hosts.

      Creating a container without –restart always does not allow me to start / restart / stop it from XO, not the end of the world, looks like this has been found https://xcp-ng.org/forum/topic/2148/can-t-start-docker-container-from-xoa

      Happy to try and help resolve any of these 'issues', test and provide logs etc. etc.

      M 1 Reply Last reply Reply Quote 1
      • M Offline
        MaisUmGajo @jmccoy555
        last edited by

        @jmccoy555 Thanks, I was going mad.

        1 Reply Last reply Reply Quote 1
        • P Offline
          pnunn
          last edited by

          I tried the commands in "can-t-start-docker-container-from-xoa" but it blew up unfortunately.

          xscontainer-prepare-vm -v 0390f015-9302-ccbd-e4af-1bbbba283cfd -u core
          Would you like to push a pool-specific public SSH key into the ~/.ssh/authorized_keys file of the specified VM and therefore authorize hosts in the pool to interact with the containers inside the VM?
          Answer y/n:
          y
          Traceback (most recent call last):
            File "/usr/bin/xscontainer-prepare-vm", line 272, in <module>
              sys.exit(main())
            File "/usr/bin/xscontainer-prepare-vm", line 246, in main
              resultcode = _handle_ssh(session, options)
            File "/usr/bin/xscontainer-prepare-vm", line 139, in _handle_ssh
              resultcode = push_ssh_key(session, options.vmuuid, options.username)
            File "/usr/bin/xscontainer-prepare-vm", line 80, in push_ssh_key
              print(docker.ERROR_CAUSE_NETWORK)
          AttributeError: 'module' object has no attribute 'ERROR_CAUSE_NETWORK'
          
          

          Maybe related, when I tried to look at the current sshhostkey it said the parameter didn't exist.

          Not too concerned, portainer seems to be the go instead. But thought I'd report my experiences.

          P 1 Reply Last reply Reply Quote 0
          • P Offline
            pnunn @pnunn
            last edited by

            @pnunn Got it....

            guest tools hadn't installed correctly.

            Manually installed them.. ran the xscontainer-prepare-vm again and now have a container tab on the core OS machine showing the containers running.

            P.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post