1. 07 Aug, 2020 1 commit
  2. 15 May, 2020 1 commit
  3. 11 Mar, 2020 1 commit
  4. 22 Aug, 2019 1 commit
    • Frank Mai's avatar
      Windows refactor · 81968c26
      Frank Mai authored
      **Problem:**
      - Could not upgrade agent via Kubernetes Daemonset workload
      - Could not accept the rotated server certificate automatically
      - Hard to maintain the Windows agent code as same as Linux
      
      **Solution:**
      - Put Windows worker plan generating back to rancher/rke, keep the
      Windows agent like Linux as possible
      - Keep rke images as same as Linux
      
      **Issue:**
      https://github.com/rancher/rancher/issues/16460
      81968c26
  5. 16 Aug, 2019 2 commits
  6. 01 May, 2019 1 commit
    • Frank Mai's avatar
      Windows support 1809 · 12bc6edc
      Frank Mai authored
      **Problem:**
      - Cannot set up kubelet on Windows
      - Sometimes, host kubelet cannot connect controlplanes via container nginx proxy, but we found that only the connection between kubelet and container nginx has been broken.
      - Upgraded from previous existing cluster causes Windows agent failed
      - Running a few days, Windows host will crash by OOM, as `docker create
      -> docker start` leaks none-page memory
      - The Windows code doesn't look very clear
      - Need to support Flannel vxlan mode
      - Need to support CI
      - Need to support Docker manifest images
      - Need to add unit test
      
      **Solution:**
      - Adjust kubelet options
      - Replace container Nginx proxy by host Nginx
      - Fix Windows error when upgrading rancher
          + Use `AllK8sWindowsVersions` to index system images
          + Specify the `NetworkMode` of Process to `none`
      - For Windows, replace `docker create -> docker start` to `docker run`
      - Refactor Windows agent
          + Separate logrus hook into a file
          + Create `winRunner` to execute main logic
          + Remove ugly break label
          + Separate connecting into a single method
          + Only treat Powershell active retry exit status
          + Adjust PowerShell script
              + Redirect log to c:\var\log
              + Reduce retry count
              + Change log.ps interval to 1s
              + Log to file if running background
      - Support Flannel Vxlan Mode
          + Adjust PowerShell script via moving `net-conf.json` into `start-flanneld`
          + Support to configure Flanneld backend via `FlannelBackendConfig`
      - Support CI
          + Use dapper
          + Patch Linux pipelines with OS info
          + Add Windows 1809 Drone support
          + Add .gitattributes file to fix https://github.com/golang/go/issues/16355
      - Support Docker manifest images
          + Remove the processing of Windows image suffix in everywhere
      - Unit test
          + There is not syslog implemented on Windows, so separate by os
          + Add test logic into CI
      
      **Issue:**
      - https://github.com/rancher/rancher/issues/17341
      - https://github.com/rancher/rancher/issues/16074
      - https://github.com/rancher/rancher/issues/19048
      - https://github.com/rancher/rancher/issues/17499
      - https://github.com/rancher/rancher/issues/17499
      12bc6edc