Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deployment cannot be synced to cluster #63

Closed
gyliu513 opened this issue May 9, 2021 · 4 comments · Fixed by #64
Closed

Deployment cannot be synced to cluster #63

gyliu513 opened this issue May 9, 2021 · 4 comments · Fixed by #64

Comments

@gyliu513
Copy link
Contributor

gyliu513 commented May 9, 2021

I was following the guidance here https://github.com/kcp-dev/kcp/blob/main/DEVELOPMENT.md to add a KIND cluster to kcp, and it works well.

Guangyas-MacBook-Pro:kcp guangyaliu$ kubectl get cluster
NAME    AGE
local   32m
Guangyas-MacBook-Pro:kcp guangyaliu$ kubectl get cluster -oyaml
apiVersion: v1
items:
- apiVersion: cluster.example.dev/v1alpha1
  kind: Cluster
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"cluster.example.dev/v1alpha1","kind":"Cluster","metadata":{"annotations":{},"name":"local"},"spec":{"kubeconfig":"apiVersion: v1\nclusters:\n- cluster:\n    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1EVXdPVEV6TURReE5sb1hEVE14TURVd056RXpNRFF4Tmxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTFRkCkttQXc4cmJjTVV5OE92dzZiVk5RdTdhLy84Kys1aDBtUmFQNU91K2trMW5hSVZEbWhDZ1FjZm9jTlZjQzZTbWEKY3NHbENrdTdlR3lhUzBiakJHYlgwWkFkbXBFQ2hSLzdpODRMcThiL2tTVDIwKzE3bnBZYzJKRHlPVnJwcENDbAo5WG05MXF6SkVDakM4N1dQclNML2s3MUQ0bmYyTjRReUZQcVc1T1c1WWtZVE9aTVBNQlZyVTlSdkV4NFI5TkFTCnB3WmxyTFZnMmFlMlpOaTVQNDJVTVo3ZDZyRzlnZWxpelJyZk1wU0YrZFY3ZlZ1T3pqMjdNZGp5RytpamxIbXQKVFpRQ2tjTS9FRGVYSUpiaW1NNEZKSDd5YmRCd1Ywc0RQSmtBMW9BeEErMmVOb3doaGpJUmNOY2ZqNEZKUk1ZdQpWTG51WUtObGZDWnQ1b2ZPQUFVQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZKKzlmbWkxN3VRQ3FtVkg2UlBrS2VVWWVRWDBNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFCMDczNzI5UmdUSzkzWllXcUhhNTQ0SVRzdTlHTFBCNkhXWVdSd3NFUEdtTW1qRnVDeQowZzFSMVZSWWlrUnhiNFFRbjJBbGEvMzZoNy91Wm1lWkNxQ01ON1FJdnZueHdoQjBoWXNuYVUrQ1diZm9qd3BYCnowQWFtdXdjZmVWTWlvTFg1M3JXam12bmJZZWJVYWdwNVNRdHp1dmkyVEtmU1k0QW9XMktjUHZZd0EwVjl1NVQKRUJEYjYvU2JQaGwvNXFPelhpeEUrOEFaYmlHWW5zdndnVDVrWks3RmgvRzBqdzZMeUxFL2F6VDVMUWRweWhDOQp4eHB6K0R6QTVHOWFRMlVhSHExaWJ1eXVFTjFKOUxScERjcHZLSGYxN2taTzRMUzVuZ1JIQjErN1BvNEVQa29iCkcrUmsxR0xjcGRBeDRmQXFJQjZremZ5dFNYRk5JS09xdHZCdwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==\n    server: https://127.0.0.1:59510\n  name: kind-kcp\ncontexts:\n- context:\n    cluster: kind-kcp\n    user: kind-kcp\n  name: kind-kcp\ncurrent-context: kind-kcp\nkind: Config\npreferences: {}\nusers:\n- name: kind-kcp\n  user:\n    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJWEI4WWV0NGV3MU13RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TVRBMU1Ea3hNekEwTVRaYUZ3MHlNakExTURreE16QTBNVGhhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSOW55NlQ5YkVENytsVVEKNTI1SzJ4eGh0bW1CQ1hOVitvQ1lFaDdtOC9tbGo3WUt0ZFBwSEE3NmRMeUZJaG5zSEcrbjNveWh5NGpMLzZkTAptVWRwMTdURG5MVERFak1jNTFKTWhGQWxJTWNIbnRFckFVWk1JSDcrS3NQZnpJaHJJbVlKN2x5Nkl4TmVpVlhQCkIzQkV6bjhBekF1dEJBR2lsY0VKbVljNHBoMjBOMmlocURUUmdRSHByYWd0WTdFMUFiNnIwclIzL1M5cVg5RmUKOXh1YkUzSlZNalpYMjF5dFRmUTV0VnlFdkhOMnlpdzlLU2xFdlhTckVoRmlnYTVrM291Z2lxb1FtNkFNR09EQgpFVFNselk1ZVFIRkVQbHM1eWZvei9IY3BGVTU1MWpHaGFxVTdLYUxycng4a2lQWmxQZm5HOFZzdnQ0Z3hHSnV3CjlnYXNsUUlEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVuNzErYUxYdTVBS3FaVWZwRStRcDVSaDVCZlF3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFLT3VLWHdTUGdoZEZOdThhM0NyQjZ2RGlLT3NxS3dKRGpOTVF6UXVhclU1OHhDNEFjWWt2TWRHCmJhT3Bjc0sxNm94UjdDMlNrR0pjcEZ4M0NMMFJBR1EvSE9qWmE3aVlxT3FIa010UHRhNkZFcVlRejUyTkJwdWMKeFNBK2p5ZWhtbi9Ec2xxUjIzbGI4SVRONjZMY3RPZnI2RDhyRlRKaW9XQnZsa3JSbG9MemlCRTRWa2s1eHZQVAozdUNFYjNNNWV0bVgwQnpLak9MWXU3SXlPaVVNTlJxdUVUazFGVXhMSlczU3JWRWYxRkdpZEtmQXJJTmF4UDFwCkxEdGc5OHpOTE5FSGlUMmFRdzh4N0huZ3I3bmlPZ250eUFiamhXaDhhMWt0ZlVuekI1TVc2RHllMi9LRmFLMlkKWUFZRG9XWjhGby9UWStFZnZtWkRFdEhFbnU2NEtEQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=\n    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBMFI5bnk2VDliRUQ3K2xVUTUyNUsyeHhodG1tQkNYTlYrb0NZRWg3bTgvbWxqN1lLCnRkUHBIQTc2ZEx5RklobnNIRytuM295aHk0akwvNmRMbVVkcDE3VERuTFRERWpNYzUxSk1oRkFsSU1jSG50RXIKQVVaTUlINytLc1BmeklockltWUo3bHk2SXhOZWlWWFBCM0JFem44QXpBdXRCQUdpbGNFSm1ZYzRwaDIwTjJpaApxRFRSZ1FIcHJhZ3RZN0UxQWI2cjByUjMvUzlxWDlGZTl4dWJFM0pWTWpaWDIxeXRUZlE1dFZ5RXZITjJ5aXc5CktTbEV2WFNyRWhGaWdhNWszb3VnaXFvUW02QU1HT0RCRVRTbHpZNWVRSEZFUGxzNXlmb3ovSGNwRlU1NTFqR2gKYXFVN0thTHJyeDhraVBabFBmbkc4VnN2dDRneEdKdXc5Z2FzbFFJREFRQUJBb0lCQUJ1OTVORVpKQjFXU1pjZAo3YzRselh4ZnVYNnZaRlRTbmhkTE0rRkRoRFBkYkY4eU1SMko3U1N4di92NGZsalZ3NExLTlNUSzF6UGZBK0Q0Cldva005amVOWFYzT2hRcEhDWkNPVkdSQkZZdlJtMnN3S0ZwVTd3aG9rR012OU9KM1BtOGp4akYrejVxVG1UankKenpJWGJLbFFJOVR0djVnR2Q0RVNTS203VElLTXRNeVd6QWdUUG1rbDU1V3V1d01mODlNYVFXNU9zdGd3TndYUwplazJwR1pLZTBWUi8ybkhHWDIxbTRXWWdlV01qZlB1RjBFMFdSM1VsZ3U1ell0LzdoSStXck9GSUFXZUViQ0dQClkyWkhQc3A0U2xkRmw5NUpVaEdRQVl5UDJRb1ptVEFlbU0xQjVjQ3EyLzUwelQ0Mk1kMWVNZVRPQkVOSTA0dU8KWVBmQ3lRa0NnWUVBNzRxK1NSNndlQnYyUm9DUGw2RmFzMERGOHdDNjRNUG41aSswcG9TMU5TRldNQlQ1ckR2aApVeXNyREtVR2hia1VhUW9DWmVRb1Y0ZGFUVFU1Yjk0eVpzT0xPL1pvQjkvUG03UEttdjV3YjlZaUtkY2p3YSsxCnhXVkpYMGhPa2F1WS9CV1FqNUF2bXprMXRsZ3pYL2NzZDErSHJDdWdXUEFtUWd1ZzhSQk5IcGNDZ1lFQTMzMmYKak95MkNmOXk2VFcrWnZIa3dvL2FuT09qZFRlb2VYZjVZZEJaV05JOUFmbnRJN2FMQ21kaWtHSXl5eVEwOFdUcQo1REwzUUo1QXd1dks1TkZaV1R5SWVnUk5ReHZlNzhiclAyZ0ZtNERYeG1wZFlJV0t4RGxKSms5cDJzazJNSDdhCm8yQzE5bzB0U3J5NGJIQTh3OFpNYjVycktENzFYM1owc3FTS0g3TUNnWUJPcjZ6Q0tDcWZ5YytrYVNiQ0VHYlMKNnp3YkR1cFVXd1lhUHlHQWNhZDB4SGFqWk1CL0sweGhIWlVPbWtjQ05rSFdIMHVhWE5CRHNGcWhjaEprQlFGWgpjSEtVUitUMGNUaXBWTzRBN0FQVE9Pd1FBblBrYyt1cDVCT3VFUHArTDNnWmxwdmVET2NXZmp4K29ZcCt3NXIvCnU0bTlyTGNIZ0J1UkpuQy92ek1XRVFLQmdRQ3dObU9MZ01RVFkvZGRpNE9CdGEzeC9leVhrU0M3ZGxQKzJpcW0KQmRtOG41OThwR3Rtb2pKRTFMa3hNRXZ1UWJFQXQ5cEFiVExvSHg3ZTBYMWJKdmwwMDdhanhpcUpCRHVtQU1oUgphUm9xdnM3aTRkQ1lIeE1IbmtkZnpuT2ZEdEVNTWFqLzhtdm1adS9VSXJLaXhXZ1QwSkZKMmZNWiszSUtmK0tKClRCU2Y0d0tCZ0hpM00zcjFLU25SSUR3emhVQzk3emlmZ2Y4UlV6STVUU0VJWWRzSUtHTUNmcVNWNmJuanIzN3YKWnRoOHRTYkhwTnA2cHp2YXN0VWt3L05kK1A1dEI0bGdTMjhCaGRTSkhKWjFYNHVPK1lsMmtWdnQ4WGQ5ZzlFTApPVmhjQkhtVWhsKzVBMVdTOEdzZEljWVJhSVN2S0xQZXk3ZGNCWlc2VVU4S1pyUEJPbXdWCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==\n"}}
    clusterName: admin
    creationTimestamp: "2021-05-09T13:05:55Z"
    generation: 1
    managedFields:
    - apiVersion: cluster.example.dev/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        f:metadata:
          f:annotations:
            .: {}
            f:kubectl.kubernetes.io/last-applied-configuration: {}
        f:spec:
          .: {}
          f:kubeconfig: {}
      manager: kubectl-client-side-apply
      operation: Update
      time: "2021-05-09T13:05:55Z"
    name: local
    resourceVersion: "126"
    selfLink: /apis/cluster.example.dev/v1alpha1/clusters/local
    uid: ddd022a4-7df5-4628-8337-bbbd5d7cc95a
  spec:
    kubeconfig: |
      apiVersion: v1
      clusters:
      - cluster:
          certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1EVXdPVEV6TURReE5sb1hEVE14TURVd056RXpNRFF4Tmxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTFRkCkttQXc4cmJjTVV5OE92dzZiVk5RdTdhLy84Kys1aDBtUmFQNU91K2trMW5hSVZEbWhDZ1FjZm9jTlZjQzZTbWEKY3NHbENrdTdlR3lhUzBiakJHYlgwWkFkbXBFQ2hSLzdpODRMcThiL2tTVDIwKzE3bnBZYzJKRHlPVnJwcENDbAo5WG05MXF6SkVDakM4N1dQclNML2s3MUQ0bmYyTjRReUZQcVc1T1c1WWtZVE9aTVBNQlZyVTlSdkV4NFI5TkFTCnB3WmxyTFZnMmFlMlpOaTVQNDJVTVo3ZDZyRzlnZWxpelJyZk1wU0YrZFY3ZlZ1T3pqMjdNZGp5RytpamxIbXQKVFpRQ2tjTS9FRGVYSUpiaW1NNEZKSDd5YmRCd1Ywc0RQSmtBMW9BeEErMmVOb3doaGpJUmNOY2ZqNEZKUk1ZdQpWTG51WUtObGZDWnQ1b2ZPQUFVQ0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZKKzlmbWkxN3VRQ3FtVkg2UlBrS2VVWWVRWDBNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFCMDczNzI5UmdUSzkzWllXcUhhNTQ0SVRzdTlHTFBCNkhXWVdSd3NFUEdtTW1qRnVDeQowZzFSMVZSWWlrUnhiNFFRbjJBbGEvMzZoNy91Wm1lWkNxQ01ON1FJdnZueHdoQjBoWXNuYVUrQ1diZm9qd3BYCnowQWFtdXdjZmVWTWlvTFg1M3JXam12bmJZZWJVYWdwNVNRdHp1dmkyVEtmU1k0QW9XMktjUHZZd0EwVjl1NVQKRUJEYjYvU2JQaGwvNXFPelhpeEUrOEFaYmlHWW5zdndnVDVrWks3RmgvRzBqdzZMeUxFL2F6VDVMUWRweWhDOQp4eHB6K0R6QTVHOWFRMlVhSHExaWJ1eXVFTjFKOUxScERjcHZLSGYxN2taTzRMUzVuZ1JIQjErN1BvNEVQa29iCkcrUmsxR0xjcGRBeDRmQXFJQjZremZ5dFNYRk5JS09xdHZCdwotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
          server: https://127.0.0.1:59510
        name: kind-kcp
      contexts:
      - context:
          cluster: kind-kcp
          user: kind-kcp
        name: kind-kcp
      current-context: kind-kcp
      kind: Config
      preferences: {}
      users:
      - name: kind-kcp
        user:
          client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJWEI4WWV0NGV3MU13RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TVRBMU1Ea3hNekEwTVRaYUZ3MHlNakExTURreE16QTBNVGhhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTBSOW55NlQ5YkVENytsVVEKNTI1SzJ4eGh0bW1CQ1hOVitvQ1lFaDdtOC9tbGo3WUt0ZFBwSEE3NmRMeUZJaG5zSEcrbjNveWh5NGpMLzZkTAptVWRwMTdURG5MVERFak1jNTFKTWhGQWxJTWNIbnRFckFVWk1JSDcrS3NQZnpJaHJJbVlKN2x5Nkl4TmVpVlhQCkIzQkV6bjhBekF1dEJBR2lsY0VKbVljNHBoMjBOMmlocURUUmdRSHByYWd0WTdFMUFiNnIwclIzL1M5cVg5RmUKOXh1YkUzSlZNalpYMjF5dFRmUTV0VnlFdkhOMnlpdzlLU2xFdlhTckVoRmlnYTVrM291Z2lxb1FtNkFNR09EQgpFVFNselk1ZVFIRkVQbHM1eWZvei9IY3BGVTU1MWpHaGFxVTdLYUxycng4a2lQWmxQZm5HOFZzdnQ0Z3hHSnV3CjlnYXNsUUlEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVuNzErYUxYdTVBS3FaVWZwRStRcDVSaDVCZlF3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFLT3VLWHdTUGdoZEZOdThhM0NyQjZ2RGlLT3NxS3dKRGpOTVF6UXVhclU1OHhDNEFjWWt2TWRHCmJhT3Bjc0sxNm94UjdDMlNrR0pjcEZ4M0NMMFJBR1EvSE9qWmE3aVlxT3FIa010UHRhNkZFcVlRejUyTkJwdWMKeFNBK2p5ZWhtbi9Ec2xxUjIzbGI4SVRONjZMY3RPZnI2RDhyRlRKaW9XQnZsa3JSbG9MemlCRTRWa2s1eHZQVAozdUNFYjNNNWV0bVgwQnpLak9MWXU3SXlPaVVNTlJxdUVUazFGVXhMSlczU3JWRWYxRkdpZEtmQXJJTmF4UDFwCkxEdGc5OHpOTE5FSGlUMmFRdzh4N0huZ3I3bmlPZ250eUFiamhXaDhhMWt0ZlVuekI1TVc2RHllMi9LRmFLMlkKWUFZRG9XWjhGby9UWStFZnZtWkRFdEhFbnU2NEtEQT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
          client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBMFI5bnk2VDliRUQ3K2xVUTUyNUsyeHhodG1tQkNYTlYrb0NZRWg3bTgvbWxqN1lLCnRkUHBIQTc2ZEx5RklobnNIRytuM295aHk0akwvNmRMbVVkcDE3VERuTFRERWpNYzUxSk1oRkFsSU1jSG50RXIKQVVaTUlINytLc1BmeklockltWUo3bHk2SXhOZWlWWFBCM0JFem44QXpBdXRCQUdpbGNFSm1ZYzRwaDIwTjJpaApxRFRSZ1FIcHJhZ3RZN0UxQWI2cjByUjMvUzlxWDlGZTl4dWJFM0pWTWpaWDIxeXRUZlE1dFZ5RXZITjJ5aXc5CktTbEV2WFNyRWhGaWdhNWszb3VnaXFvUW02QU1HT0RCRVRTbHpZNWVRSEZFUGxzNXlmb3ovSGNwRlU1NTFqR2gKYXFVN0thTHJyeDhraVBabFBmbkc4VnN2dDRneEdKdXc5Z2FzbFFJREFRQUJBb0lCQUJ1OTVORVpKQjFXU1pjZAo3YzRselh4ZnVYNnZaRlRTbmhkTE0rRkRoRFBkYkY4eU1SMko3U1N4di92NGZsalZ3NExLTlNUSzF6UGZBK0Q0Cldva005amVOWFYzT2hRcEhDWkNPVkdSQkZZdlJtMnN3S0ZwVTd3aG9rR012OU9KM1BtOGp4akYrejVxVG1UankKenpJWGJLbFFJOVR0djVnR2Q0RVNTS203VElLTXRNeVd6QWdUUG1rbDU1V3V1d01mODlNYVFXNU9zdGd3TndYUwplazJwR1pLZTBWUi8ybkhHWDIxbTRXWWdlV01qZlB1RjBFMFdSM1VsZ3U1ell0LzdoSStXck9GSUFXZUViQ0dQClkyWkhQc3A0U2xkRmw5NUpVaEdRQVl5UDJRb1ptVEFlbU0xQjVjQ3EyLzUwelQ0Mk1kMWVNZVRPQkVOSTA0dU8KWVBmQ3lRa0NnWUVBNzRxK1NSNndlQnYyUm9DUGw2RmFzMERGOHdDNjRNUG41aSswcG9TMU5TRldNQlQ1ckR2aApVeXNyREtVR2hia1VhUW9DWmVRb1Y0ZGFUVFU1Yjk0eVpzT0xPL1pvQjkvUG03UEttdjV3YjlZaUtkY2p3YSsxCnhXVkpYMGhPa2F1WS9CV1FqNUF2bXprMXRsZ3pYL2NzZDErSHJDdWdXUEFtUWd1ZzhSQk5IcGNDZ1lFQTMzMmYKak95MkNmOXk2VFcrWnZIa3dvL2FuT09qZFRlb2VYZjVZZEJaV05JOUFmbnRJN2FMQ21kaWtHSXl5eVEwOFdUcQo1REwzUUo1QXd1dks1TkZaV1R5SWVnUk5ReHZlNzhiclAyZ0ZtNERYeG1wZFlJV0t4RGxKSms5cDJzazJNSDdhCm8yQzE5bzB0U3J5NGJIQTh3OFpNYjVycktENzFYM1owc3FTS0g3TUNnWUJPcjZ6Q0tDcWZ5YytrYVNiQ0VHYlMKNnp3YkR1cFVXd1lhUHlHQWNhZDB4SGFqWk1CL0sweGhIWlVPbWtjQ05rSFdIMHVhWE5CRHNGcWhjaEprQlFGWgpjSEtVUitUMGNUaXBWTzRBN0FQVE9Pd1FBblBrYyt1cDVCT3VFUHArTDNnWmxwdmVET2NXZmp4K29ZcCt3NXIvCnU0bTlyTGNIZ0J1UkpuQy92ek1XRVFLQmdRQ3dObU9MZ01RVFkvZGRpNE9CdGEzeC9leVhrU0M3ZGxQKzJpcW0KQmRtOG41OThwR3Rtb2pKRTFMa3hNRXZ1UWJFQXQ5cEFiVExvSHg3ZTBYMWJKdmwwMDdhanhpcUpCRHVtQU1oUgphUm9xdnM3aTRkQ1lIeE1IbmtkZnpuT2ZEdEVNTWFqLzhtdm1adS9VSXJLaXhXZ1QwSkZKMmZNWiszSUtmK0tKClRCU2Y0d0tCZ0hpM00zcjFLU25SSUR3emhVQzk3emlmZ2Y4UlV6STVUU0VJWWRzSUtHTUNmcVNWNmJuanIzN3YKWnRoOHRTYkhwTnA2cHp2YXN0VWt3L05kK1A1dEI0bGdTMjhCaGRTSkhKWjFYNHVPK1lsMmtWdnQ4WGQ5ZzlFTApPVmhjQkhtVWhsKzVBMVdTOEdzZEljWVJhSVN2S0xQZXk3ZGNCWlc2VVU4S1pyUEJPbXdWCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

Then I try to create a deployment on this cluster via the file at https://github.com/kcp-dev/kcp/blob/main/contrib/demo/deployment.yaml , but the deploy does not sync to the cluster.

Guangyas-MacBook-Pro:kcp guangyaliu$ kubectl get deploy
NAME            AGE
my-deployment   28m

KCP log

I0509 21:34:31.349351   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:34:31.443680   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:34:31.444215   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/deployments.apps
I0509 21:34:31.450223   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:34:43.299999   72552 store.go:959] Setting ClusterName admin in appendListItem
E0509 21:34:47.552727   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Service: the server could not find the requested resource
E0509 21:35:06.291678   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Endpoints: the server could not find the requested resource
I0509 21:35:31.707097   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:35:31.707674   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/pods.core
I0509 21:35:31.714302   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:35:31.794398   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:35:31.794985   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/deployments.apps
I0509 21:35:31.801134   72552 store.go:922] Setting ClusterName admin in appendListItem
E0509 21:35:36.010887   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Service: the server could not find the requested resource
I0509 21:35:43.285823   72552 store.go:788] DEBUG: key=/registry/core/configmaps/admin/kube-system willExtractCluster=false
E0509 21:36:01.107079   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Endpoints: the server could not find the requested resource
E0509 21:36:16.784841   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Service: the server could not find the requested resource
I0509 21:36:16.857157   72552 store.go:959] Setting ClusterName admin in appendListItem
I0509 21:36:32.065317   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:36:32.065984   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/pods.core
I0509 21:36:32.072383   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:36:32.154347   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:36:32.155253   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/deployments.apps
I0509 21:36:32.162371   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:36:33.830929   72552 store.go:788] DEBUG: key=/registry/core/namespaces/admin willExtractCluster=false
W0509 21:36:33.874206   72552 watcher.go:208] watch chan error: etcdserver: mvcc: required revision has been compacted
I0509 21:36:35.395479   72552 store.go:956] Setting ClusterName admin in appendListItem
I0509 21:36:35.395540   72552 store.go:956] Setting ClusterName admin in appendListItem
I0509 21:36:35.395583   72552 store.go:956] Setting ClusterName admin in appendListItem
I0509 21:36:35.396221   72552 store.go:788] DEBUG: key=/registry/core/namespaces/admin willExtractCluster=false
E0509 21:36:46.590196   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Endpoints: the server could not find the requested resource
E0509 21:37:06.906926   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Service: the server could not find the requested resource
I0509 21:37:32.435733   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:37:32.436276   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/pods.core
I0509 21:37:32.442313   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:37:32.519805   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:37:32.520412   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/deployments.apps
I0509 21:37:32.526447   72552 store.go:922] Setting ClusterName admin in appendListItem
E0509 21:37:38.476219   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Endpoints: the server could not find the requested resource
E0509 21:37:44.432423   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Service: the server could not find the requested resource
I0509 21:37:57.943093   72552 store.go:959] Setting ClusterName admin in appendListItem
I0509 21:37:59.434644   72552 store.go:788] DEBUG: key=/registry/cluster.example.dev/clusters willExtractCluster=true
I0509 21:38:02.367513   72552 store.go:959] Setting ClusterName admin in appendListItem
I0509 21:38:32.799359   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:38:32.799898   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/pods.core
I0509 21:38:32.805933   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:38:32.882014   72552 store.go:922] Setting ClusterName admin in appendListItem
I0509 21:38:32.883069   72552 store.go:618] DEBUG: GET key func returned: /apiextensions.k8s.io/customresourcedefinitions/admin/deployments.apps
I0509 21:38:32.889971   72552 store.go:922] Setting ClusterName admin in appendListItem
E0509 21:38:35.031209   72552 reflector.go:178] k8s.io/client-go@v0.0.0-20210504234152-98ac86830031/tools/cache/reflector.go:125: Failed to list *v1.Endpoints: the server could not find the requested resource

syncer log

Guangyas-MacBook-Pro:kcp guangyaliu$ go run ./cmd/cluster-controller \
>     --syncer_image=$(ko publish ./cmd/syncer) \
>     --kubeconfig=.kcp/data/admin.kubeconfig
2021/05/09 20:58:37 Using base gcr.io/distroless/static:nonroot for github.com/kcp-dev/kcp/cmd/syncer
2021/05/09 20:58:37 No matching credentials were found for "gcr.io/distroless/static", falling back on anonymous
2021/05/09 20:58:44 Building github.com/kcp-dev/kcp/cmd/syncer for linux/amd64
2021/05/09 20:58:48 Publishing docker.io/gyliu/syncer-c2e3073d5026a8f7f2c47a50c16bdbec:latest
2021/05/09 20:59:00 existing blob: sha256:72164b581b02b1eb297b403bcc8fc1bfa245cb52e103a3a525a0835a58ff58e2
2021/05/09 20:59:00 existing blob: sha256:96061d0346c5121ef1e42a1142295d9a8cbd985e4177d2d7e276f9623434b6d5
2021/05/09 20:59:00 existing blob: sha256:5dea5ec2316d4a067b946b15c3c4f140b4f2ad607e73e9bc41b673ee5ebb99a3
2021/05/09 20:59:00 existing blob: sha256:e466343204d2e2456849b1ef0303a961737f2b1ef978b559ff38abd23c9189a8
2021/05/09 20:59:01 docker.io/gyliu/syncer-c2e3073d5026a8f7f2c47a50c16bdbec:latest: digest: sha256:24bf63f061227bc069e0ec0866294a50bef1c8c735b0405b12c869263855ca81 size: 751
2021/05/09 20:59:01 Published docker.io/gyliu/syncer-c2e3073d5026a8f7f2c47a50c16bdbec@sha256:24bf63f061227bc069e0ec0866294a50bef1c8c735b0405b12c869263855ca81
2021-05-09 20:59:08.539318 I | Starting workers
2021-05-09 21:05:55.446864 I | reconciling cluster local
2021-05-09 21:05:55.920282 I | syncer installing...
2021-05-09 21:05:55.920313 I | no update
2021-05-09 21:05:55.920319 I | Successfully reconciled admin#$#local
2021-05-09 21:06:55.924270 I | reconciling cluster local
2021-05-09 21:06:56.285600 I | syncer installing...
2021-05-09 21:06:56.285624 I | no update
2021-05-09 21:06:56.285629 I | Successfully reconciled admin#$#local
2021-05-09 21:07:56.285758 I | reconciling cluster local
2021-05-09 21:07:56.660182 I | syncer installing...
2021-05-09 21:07:56.660208 I | no update
2021-05-09 21:07:56.660214 I | Successfully reconciled admin#$#local
2021-05-09 21:08:56.663536 I | reconciling cluster local
2021-05-09 21:08:57.034414 I | syncer installing...
2021-05-09 21:08:57.034440 I | no update
2021-05-09 21:08:57.034446 I | Successfully reconciled admin#$#local
2021-05-09 21:09:57.036355 I | reconciling cluster local
2021-05-09 21:09:57.398941 I | syncer installing...
2021-05-09 21:09:57.398968 I | no update
2021-05-09 21:09:57.398972 I | Successfully reconciled admin#$#local
2021-05-09 21:10:57.401106 I | reconciling cluster local
2021-05-09 21:10:57.772594 I | syncer installing...
2021-05-09 21:10:57.772620 I | no update
2021-05-09 21:10:57.772624 I | Successfully reconciled admin#$#local
2021-05-09 21:11:57.776206 I | reconciling cluster local
2021-05-09 21:11:58.120752 I | syncer installing...
2021-05-09 21:11:58.120782 I | no update
2021-05-09 21:11:58.120789 I | Successfully reconciled admin#$#local
2021-05-09 21:12:58.125169 I | reconciling cluster local
2021-05-09 21:12:58.462011 I | syncer installing...
2021-05-09 21:12:58.462041 I | no update
2021-05-09 21:12:58.462045 I | Successfully reconciled admin#$#local
2021-05-09 21:13:58.464764 I | reconciling cluster local
2021-05-09 21:13:58.816481 I | syncer installing...
2021-05-09 21:13:58.816505 I | no update
2021-05-09 21:13:58.816512 I | Successfully reconciled admin#$#local
2021-05-09 21:14:58.803503 I | reconciling cluster local
2021-05-09 21:14:59.167277 I | syncer installing...
2021-05-09 21:14:59.167302 I | no update
2021-05-09 21:14:59.167307 I | Successfully reconciled admin#$#local
2021-05-09 21:15:59.167426 I | reconciling cluster local
2021-05-09 21:15:59.515296 I | syncer installing...
2021-05-09 21:15:59.515323 I | no update
2021-05-09 21:15:59.515328 I | Successfully reconciled admin#$#local
@gyliu513
Copy link
Contributor Author

gyliu513 commented May 9, 2021

Why did the clustername in the deployment is always admin?

Guangyas-MacBook-Pro:kcp guangyaliu$ kubectl get deploy -oyaml
apiVersion: v1
items:
- apiVersion: apps/v1
  kind: Deployment
  metadata:
    annotations:
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"name":"example","namespace":"default"},"spec":{"replicas":3,"selector":{"matchLabels":{"app":"nginx"}},"template":{"metadata":{"labels":{"app":"nginx"}},"spec":{"containers":[{"command":["/bin/sh","-ec","echo \"Going to sleep\"\ntail -f /dev/null \n"],"image":"busybox:1.25","name":"busybox"}]}}}}
    clusterName: admin
    ...

@gyliu513
Copy link
Contributor Author

gyliu513 commented May 9, 2021

Even if I change the cluster name to admin, the deployment still cannot sync to downstream cluster.

Guangyas-MacBook-Pro:kcp guangyaliu$ kubectl get cluster
NAME    AGE
admin   86s

@y-taka-23
Copy link
Contributor

I ran into the same phenomenon.

Surely it is because the current implementation of the deployment-splitter controller detects the diff in and update the Status only. (pkg/reconciler/deployment/controller.go)

if !equality.Semantic.DeepEqual(previous.Status, current.Status) {
	_, uerr := c.client.Deployments(current.Namespace).UpdateStatus(ctx, current, metav1.UpdateOptions{})
	return uerr
}

On the other hand, in the case of a single downstream cluster, its reconciliation loop only adds a label cluater: your-cluster-name (pkg/reconciler/deployment/deployment.go)

if len(cls) == 1 {
	// nothing to split, just label Deployment for the only cluster.
	if root.Labels == nil {
		root.Labels = map[string]string{}
	}

	// TODO: munge cluster name
	root.Labels[clusterLabel] = cls[0].Name
	return nil
}

As a result, the deployment is not labelled and thus the corresponding syncer cannot detect the creation.

@gyliu513
Copy link
Contributor Author

@y-taka-23 As a simple fix, how about just remove the checking of if len(cls) == 1,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants