Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Installation

  • Kubernetes API를 호출하는데 사용할 Target Minion에 아래와 같이 Package를 설치합니다.

  • root 권한에서 작업합니다.

kubernetes 설치

  • Kubernetes API Python Bindings

    $ pip3 install kubernetes

Configuring K8s KUBERNETESMOD

salt-minion config에 추가할 내용은 다음과 같다.
아래 中, kubernetes.kubeconfigkubernetes.kubeconfig-data 둘 중 하나만 설정하면 된다.
만일 둘 다 설정되어 있다면, kubernetes.kubeconfig를 우선한다.

단, kubernetes.kubeconfig로 설정하였을 경우는, k8s Control plane node에 salt-minion설치 및 설정되어야 하는 경우만 해당된다.(로컬 파일에 접근해야 하기 때문)

원격 노드에서 k8s api를 사용해야 하는 경우kubernetes.kubeconfig-data를 사용하도록 한다.

위의 이유로 CH에서는 kubernetes.kubeconfig-data를 사용하는 방법을 표준으로 채택한다.

kubernetes.kubeconfig: '/root/.kube/config'
kubernetes.kubeconfig-data: '<base64 encoded "/root/.kube/config" content>'
kubernetes.context: '<context name inside ~/.kube/config>'

kubernetes.kubeconfig-data 설정 방법은 다음과 같다.

먼저 kubeconfig 파일 내용을 base64one line encoding한다.

$ cat ~/.kube/config | base64 | tr -d '\n'
YfasdreXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VONVJFTkRRV0pEWjBGM1NVSkJaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSYzBaQlJFRldUVkpOZDBWUldVUldVVkZFUlhkd2NtUlhTbXdLWTIwMWJHUkhWbnBOUWpSWVJGUkpkMDFFWTNsUFZFRXdUVVJaTVUweGIxaEVWRTEzVFVSamVVNTZRVEJOUkZreFRURnZkMFpVUlZSTlFrVkhRVEZWUlFwQmVFMUxZVE5XYVZwWVNuVmFXRkpzWTNwRFEwRlRTWGRFVVZsS1MyOWFTV2gyWTA1QlVVVkNRbEZCUkdkblJWQkJSRU5EUVZGdlEyZG5SVUpCVG1SaUNuaDRUbkpNYzNNNUwxQlRLMWt5UmpKM1lWZENaMUZHYUdGVFprRjJOMmRsVERkYWQwdEZkREpoYUZoSlV5OVdOWFJTZFZacFFrZDRTRm8zVFdwV2VUWUtZbEpHY1RGWVVEUXlZalI0YzJaRWQwNXdhbUp0YVhoSWNqSlRUemRtVjFrd1dGQlpheTh4TkhkdFRuVnlWMVoyUzNKdFVuWlZUMVpvU0RGUk5uUkdOd3BuTDA5emFWUllkRE5OUVdoeFoyMUxjMEZ0ZFN0dWNrZ3ZVMngyZVRjME1YZFpZalZhYTBNeWRFaEdZbWhUY25FeFVVVlJVaTlQVVU0MFFXMUhPVTl3Q21wd1RVcFhOSEo0YkM5cVprWkZLelpWYlZWT1drVmlOWHBuTjNRM1NUbDVia3hJWTFCa1JraG1UbVZITmtsTmFVb3dNbUp4ZDJsR2NWRmhWMUJPYjA0S2VtZFhOV2gxVUZJeGNqWXdTUzg1UW1sUlZHMVdOMmM0U1RKT0swZE9PVkZsUlVaT2FTOXBSaTlYYzJSSE9YUnNlbXBKZDNaVmNIbGFhMkU0WTJWV2RBcEpOQzlVTUV4cmNFMVBOWFV2YmpoWlpqQkZRMEYzUlVGQllVMXFUVU5GZDBSbldVUldVakJRUVZGSUwwSkJVVVJCWjB0clRVRTRSMEV4VldSRmQwVkNDaTkzVVVaTlFVMUNRV1k0ZDBSUldVcExiMXBKYUhaalRrRlJSVXhDVVVGRVoyZEZRa0ZHVDJ4dWVGWmxjRXgyVm1aMlZIY3pSa001THlzNFprMHhlRm9LWVcxSWMyWTJTV3RoWjJGSlV5OXBXR012VGpJeWNWSmhjelJMV1VvM1FXbEhNMHBPUzBsM09FMTNUbFJTTUdSelVuTTJjSEp0UWpSU2JFMWpia3BHU3dwSU0xQnNNM0ppYVVkNVpFc3hUSGN4VUc1MGJYUlNRalJEVkhOdVFsaHVNbFZvVjNwQk1FcG1kalJIT0cxWlpWWlJjMFZQYlhSbVlrTkxaWHBVY0VwMENuZFhaalYwTmk5elRFcEdSalV5VTBOV1lVc3hiMU5pVGpGdlNrWlpaeXR5UmpobU1XRmtORFpuYjBGMlJ6WlZXRFpDWkRFclpIWjBkblJZVVZKb2IyNEtTalJDT0ZSa2NEZEpWVlZ1WWk5V2J6SnRkRWxGT1doNlpEZEZZWEV3T0hadFQzSmllV0pGVm1rd1JWRlViRXRLUlVwS2FXcEJjbFV3UW1rNWFXaE9OUXBLYlhwYVNIZEVRMFZOTUZwSVQzaFlaM2xXTW14RWJqRXZMMG9yYm1WM1VWUXZlQ3N2TURKa1RISk1MMDE1UzJSQlYxRXlNVzF4V1hKdlFUMEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIHNlcnZlcjogaHR0cHM6Ly8xMC4wLjIuNTo2NDQzCiAgbmFtZToga3ViZXJuZXRlcwpjb250ZXh0czoKLSBjb250ZXh0OgogICAgY2x1c3Rlcjoga3ViZXJuZXRlcwogICAgdXNlcjoga3ViZXJuZXRlcy1hZG1pbgogIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW5Aa3ViZXJuZXRlcwpjdXJyZW50LWNvbnRleHQ6IGt1YmVybmV0ZXMtYWRtaW5Aa3ViZXJuZXRlcwpraW5kOiBDb25maWcKcHJlZmVyZW5jZXM6IHt9CnVzZXJzOgotIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVU00YWtORFFXUnhaMEYzU1VKQlowbEpaR1JqVWpoRk9HOXNRV3QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkR1ZFVlVUVUpGUjBFeFZVVUtRWGhOUzJFelZtbGFXRXAxV2xoU2JHTjZRV1ZHZHpCNVRVUkJNMDFxYTNkT1JFRXlUbFJPWVVaM01IbE5WRUV6VFdwcmQwNUVRVEpPVkZwaFRVUlJlQXBHZWtGV1FtZE9Wa0pCYjFSRWJrNDFZek5TYkdKVWNIUlpXRTR3V2xoS2VrMVNhM2RHZDFsRVZsRlJSRVY0UW5Ka1YwcHNZMjAxYkdSSFZucE1WMFpyQ21KWGJIVk5TVWxDU1dwQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSUlVaQlFVOURRVkU0UVUxSlNVSkRaMHREUVZGRlFUTnRZazEzWWs5NU1EQlNjM05NVERNS2NUTXdaMlpyYm5FeFJWazJjVXd5TldKdGRXWmFhRVI0VVROSWIwOVdWaTloVlhwaVkxQTJZalZQZEhjeVNuQTJkeXRUU21kdVpXUXJVa1owUWs1VGFncGlRMUZ2VlRsMVJFNUVURzAyUXk5S01YaHlWVk41YkhOckwxZHNOMjVTVGpCUmNVSjZaMjAwZUd4TFMwRmhSek15U2xCUGRURklWRTFEVDFSQ2JXUXZDbVZNVjJ4SVl5OWhjbEk1WlM5NUszaFZiV3htT1c1VlUzTnRSalZFVjBGSk5WTXZhR3BVT0dkRVltSjRSbTFGTXpsaGJXVkxWSEpTY2paVU1FSnZaWGdLUlV4VWVIWXdWbHBNWW5ocVlWZDZaVUpDY2tVNWVuZGlaRWwzUW1WbWFXNU5jbXR2Wkdnd1kyVlBPSHB4T0hOc1JrTmpTV0YyVm1KM1MxQm1TVFZQWmdwTGEyWnZWRVZNWmtSWEsyOUdhVzA0SzBwVVpuYzRTa041VkRCUVpXaG9ZamxWZUZSYVdGQTRibkpRVDJGNk9HWTRhelpIZFZoVGNGVlhjMHRwVEZab0NsWTBlSGgwZDBsRVFWRkJRbTk1WTNkS1ZFRlBRbWRPVmtoUk9FSkJaamhGUWtGTlEwSmhRWGRGZDFsRVZsSXdiRUpCZDNkRFoxbEpTM2RaUWtKUlZVZ0tRWGRKZDBSUldVcExiMXBKYUhaalRrRlJSVXhDVVVGRVoyZEZRa0ZCWVRORFFYVkNkRUY1YmpsR1l5OHJiRzlXZDB4b1RraEhlbmhSWlhKcWExSTRWZ3A0WmxWclVYRTBhRkZ1YkVwdWRVWlVRbEZqT1dGMUsxcFpZVVJsU0N0Q2VsQkJRVUUzUlZwWVJYcFlibmRpWlZoUVFXRkJOa0Z5WVhwSmRqWmtWemR6Q2pOU1owTm9Va2RoVlhKWGNWTTRNR1pyU0doQlVHdzRieXRUZUZwcFNWSTNhVVZNTmxsV09WVlFUek5vVEc5SGJXMHJOVk5ZVXpGS1JWaFhSVFpNZDJnS1JrZzBkVGhZY0RWWGFXaGhNM1k0VTBkV1pTdDRVMHBSTjBNMVdXRjJSV2RGTkdzMVJHdFZhRmhGV0N0RVZrOXhNbVJUTlVWVFIzRnpXVGQxZDFCbFRncFJLMnhuV1dkME9YVTBaeXR5WXpKQmEwZEpNR2d4VVc1ekswZGhTelUxZDJSMmVEbGFXakp1WlVoa2JVbzBMM1pJUjNCU2NVZHNRbXhvVUU5cUszZzJDa1l4Wml0U01UUktlRUprVmt0emEwNVRNblpLUVUxRU5HMWFMMHBCUkhaeGVscG9TV014YW10SFNEbElSalp1ZG5Zd1RUMEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGYjJkSlFrRkJTME5CVVVWQk0yMWlUWGRpVDNrd01GSnpjMHhNTTNFek1HZG1hMjV4TVVWWk5uRk1NalZpYlhWbVdtaEVlRkV6U0c5UFZsWXZDbUZWZW1KalVEWmlOVTkwZHpKS2NEWjNLMU5LWjI1bFpDdFNSblJDVGxOcVlrTlJiMVU1ZFVST1JFeHROa012U2pGNGNsVlRlV3h6YXk5WGJEZHVVazRLTUZGeFFucG5iVFI0YkV0TFFXRkhNekpLVUU5MU1VaFVUVU5QVkVKdFpDOWxURmRzU0dNdllYSlNPV1V2ZVN0NFZXMXNaamx1VlZOemJVWTFSRmRCU1FvMVV5OW9hbFE0WjBSaVluaEdiVVV6T1dGdFpVdFVjbEp5TmxRd1FtOWxlRVZNVkhoMk1GWmFUR0o0YW1GWGVtVkNRbkpGT1hwM1ltUkpkMEpsWm1sdUNrMXlhMjlrYURCalpVODRlbkU0YzJ4R1EyTkpZWFpXWW5kTFVHWkpOVTltUzJ0bWIxUkZUR1pFVnl0dlJtbHRPQ3RLVkdaM09FcERlVlF3VUdWb2FHSUtPVlY0VkZwWVVEaHVjbEJQWVhvNFpqaHJOa2QxV0ZOd1ZWZHpTMmxNVm1oV05IaDRkSGRKUkVGUlFVSkJiMGxDUVVkRWNsTTJMMlZNT0VGQ2QxcDJMd3BaWnpsS2NVTTVaelYzVlRZeFlsWlVaVTExTVN0MlJIWXdWRkZxU0RaQ1kzTm1iV2hzVEM5YVRsQmhPVFExSzBKTmNEZE1jVmRHUWpNMFdEZEphR1JKQ2pCNU56bFZkRmMwWnpaVWNubGtWRVptY1VKUVFVNVZRV0ZIUkZOWVJURmxVV056YmxkUmIwSkZjRlJoZHpKdFUyOUNkWGg2YUZkNmQzVlVibTA1Y21VS2JqVTFja05zYmtScGRtbElRVEE0VWpaaFUxRmFNVVozUlRSWVNWSkpiWFJ3WVdwcE1uRmFVRUYzVHpodmVUbEpVVzFQV1VSMmMyTlFhbmM1YjBrdlpBcFRSU3MyWlVaTVZUZENjVzh4TlVwUmVETkVjVEJxZERkWVNsbzVNWHB5Tkc0ME9VMXVjbWxzTkc0d0syRnZWalFyVldWQ2NXRTNURGxFYldJeFVYTnBDbXBtTmxWa1JscFZWWEZsUkN0QlRVY3paMmxUYURONlRuQk1jM04zUjBKcmVVZHZORGxUVTFwVFpuSnVWbWRpTlZRNVJIRlVaVVJCWkhOQlZIaGtlUzhLWWtoNWRVZFpSVU5uV1VWQk9HOWlja2R5T1Vock5WTldiRE4xWldGTlVteHZhRkZpTm1KcmVVTlpkMFIzTkc5cU5XSTJaMDlOY2pKblpXZGhlWGN5TXdwdlFsbDBVMWxVTjBrdmQyaGpVVlFyWW1ObGVFeHZVV2xGYVZRNVRXWTJaM2RpVlZsSEsxQldaMk5oVFZKMFEyOUdlRXRsUldONU9IZDVTRzgyZWpJMkNtZGFkMGROVVM5SlFsbDFOMmxMT0dKbFRYaEtjVTl1Ykc1cVFURmhkV3BvYW5VM0x6RktjMkY0YlRoRVRtWllXQ3RMTTJzclNrMURaMWxGUVRaelIzSUtTbVZFT1hCR05uZFdXREZPY21GVk1IQnZNemx6VGt4clVsSXJRamd2ZURkSFVsSnBPVTFwV0VsbU9FZHBiakUyZVVwc1MybERaSEJXYjI5aVVtd3ZiQXBsYkVOMFRtWXhjSEZMU0RCNmFXVmpNa3MyZWxKUlRXaFJha1ZHVUN0eFYxcDZNV05QVWt0WWNYcHpNQzl1Wmtndk1uTktiSHBDUjFCS1duQldSRVY1Q25VM2NURjZUV2RESzNSNlJrWmpjazFHU2xGU1pEWlpTamMwUVZOQk0yUnpkbXhHWW1wTk1FTm5XVUkxYTNCQkx6bERjVnBJUWpWM2RGSk5VRk5aVURRS016QlBkWGRhYzBoc2FIYzROVkExYUhGR1JVRndlREI1ZFZoeVZURnhaRFZ3UTFKSVpXeFhOa1ZEVm1wV2FrZEZUR3h1ZGtNeVZsa3llRzVuSzJSaWVncDNlV1V5Y3pGeVVHeDNkWGxaT1RSbE1ITktVMEZsVDA1dVZ6TTBibWhVYWpZMldtVTJXalZIZVZkcVZXUTFTelV4ZHpSR2EyeHVPRVpuV25jNVVsRTRDbHBwYm5kR1YwRjViMGQwYm01VWEwb3JORWRRTmxGTFFtZEhTMVV5TkhNemJGTjJkVTh6ZUdFNU1FUkNWRWd2V1hoeWVqTm5jbHB2VTJOcmMzTkpSRk1LY0RnclJsbE1iamd2TUVWMUsyd3lPSGxoYVhSaVJGaFZTSGx2U2xsVVRtaEtOblY0WkVOd1JtZExhMFo0TXpkVGRHbE9NemhuU2pZeFYzRkhNVFIzV2dwSU1UUXdTMWszVm1WVFlWaEtSbmhzUmxsNmQzbzNNMjV3SzIxalJUSk1NRkZDTTNweVFsTjFiWFpFVVhwaGVXbHNWV00yWVZwbGVXNHhNMjVUTjI5TkNreHFZazVCYjBkQlprMWhkSGRVWlZoTGNtZFdXWHBsVldONFdIUXhhRE4wVFRkTGVFMVZWU3RWTlc5dlVYVmphRTlqTUhoaVRYRXdXRE5YVFRoR1IwY0tTbXN3V1ZvdlVFNXVSa1JhVFV4emIxSndVbVZXUlVONU5uZENiRWRCU2tWbVNIRm9XbUl4YVRkbmRFNTZXbFF2YzBrMVNXZzNZa2R5UzFCTmFGSkVlUXB0UlhWYU4wOXBOVVUxSzJabE1UbExOMEpoTTNjeFJUSjJWRVl6U20xd1QxVkJlVkpLTVRZck1FNDJhMjV2UkRKa2RqZzlDaTB0TFMwdFJVNUVJRkpUUVNCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2c9PQo=

minion.conf파일에 다음과 같이 추가한다.

$ vim minion.conf
log_level: debug
master: <master_ip>
#id:

kubernetes.kubeconfig-data: 'YXBpVmVyc2lvbjogdjEKY2dafaefaex1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VONVJFTkRRV0pEWjBGM1NVSkJaMGxDUVVSQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSYzBaQlJFRldUVkpOZDBWUldVUldVVkZFUlhkd2NtUlhTbXdLWTIwMWJHUkhWbnBOUWpSWVJGUkpkMDFFWTNsUFZFRXdUVVJaTVUweGIxaEVWRTEzVFVSamVVNTZRVEJOUkZreFRURnZkMFpVUlZSTlFrVkhRVEZWUlFwQmVFMUxZVE5XYVZwWVNuVmFXRkpzWTNwRFEwRlRTWGRFVVZsS1MyOWFTV2gyWTA1QlVVVkNRbEZCUkdkblJWQkJSRU5EUVZGdlEyZG5SVUpCVG1SaUNuaDRUbkpNYzNNNUwxQlRLMWt5UmpKM1lWZENaMUZHYUdGVFprRjJOMmRsVERkYWQwdEZkREpoYUZoSlV5OVdOWFJTZFZacFFrZDRTRm8zVFdwV2VUWUtZbEpHY1RGWVVEUXlZalI0YzJaRWQwNXdhbUp0YVhoSWNqSlRUemRtVjFrd1dGQlpheTh4TkhkdFRuVnlWMVoyUzNKdFVuWlZUMVpvU0RGUk5uUkdOd3BuTDA5emFWUllkRE5OUVdoeFoyMUxjMEZ0ZFN0dWNrZ3ZVMngyZVRjME1YZFpZalZhYTBNeWRFaEdZbWhUY25FeFVVVlJVaTlQVVU0MFFXMUhPVTl3Q21wd1RVcFhOSEo0YkM5cVprWkZLelpWYlZWT1drVmlOWHBuTjNRM1NUbDVia3hJWTFCa1JraG1UbVZITmtsTmFVb3dNbUp4ZDJsR2NWRmhWMUJPYjA0S2VtZFhOV2gxVUZJeGNqWXdTUzg1UW1sUlZHMVdOMmM0U1RKT0swZE9PVkZsUlVaT2FTOXBSaTlYYzJSSE9YUnNlbXBKZDNaVmNIbGFhMkU0WTJWV2RBcEpOQzlVTUV4cmNFMVBOWFV2YmpoWlpqQkZRMEYzUlVGQllVMXFUVU5GZDBSbldVUldVakJRUVZGSUwwSkJVVVJCWjB0clRVRTRSMEV4VldSRmQwVkNDaTkzVVVaTlFVMUNRV1k0ZDBSUldVcExiMXBKYUhaalRrRlJSVXhDVVVGRVoyZEZRa0ZHVDJ4dWVGWmxjRXgyVm1aMlZIY3pSa001THlzNFprMHhlRm9LWVcxSWMyWTJTV3RoWjJGSlV5OXBXR012VGpJeWNWSmhjelJMV1VvM1FXbEhNMHBPUzBsM09FMTNUbFJTTUdSelVuTTJjSEp0UWpSU2JFMWpia3BHU3dwSU0xQnNNM0ppYVVkNVpFc3hUSGN4VUc1MGJYUlNRalJEVkhOdVFsaHVNbFZvVjNwQk1FcG1kalJIT0cxWlpWWlJjMFZQYlhSbVlrTkxaWHBVY0VwMENuZFhaalYwTmk5elRFcEdSalV5VTBOV1lVc3hiMU5pVGpGdlNrWlpaeXR5UmpobU1XRmtORFpuYjBGMlJ6WlZXRFpDWkRFclpIWjBkblJZVVZKb2IyNEtTalJDT0ZSa2NEZEpWVlZ1WWk5V2J6SnRkRWxGT1doNlpEZEZZWEV3T0hadFQzSmllV0pGVm1rd1JWRlViRXRLUlVwS2FXcEJjbFV3UW1rNWFXaE9OUXBLYlhwYVNIZEVRMFZOTUZwSVQzaFlaM2xXTW14RWJqRXZMMG9yYm1WM1VWUXZlQ3N2TURKa1RISk1MMDE1UzJSQlYxRXlNVzF4V1hKdlFUMEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIHNlcnZlcjogaHR0cHM6Ly8xMC4wLjIuNTo2NDQzCiAgbmFtZToga3ViZXJuZXRlcwpjb250ZXh0czoKLSBjb250ZXh0OgogICAgY2x1c3Rlcjoga3ViZXJuZXRlcwogICAgdXNlcjoga3ViZXJuZXRlcy1hZG1pbgogIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW5Aa3ViZXJuZXRlcwpjdXJyZW50LWNvbnRleHQ6IGt1YmVybmV0ZXMtYWRtaW5Aa3ViZXJuZXRlcwpraW5kOiBDb25maWcKcHJlZmVyZW5jZXM6IHt9CnVzZXJzOgotIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVU00YWtORFFXUnhaMEYzU1VKQlowbEpaR1JqVWpoRk9HOXNRV3QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkR1ZFVlVUVUpGUjBFeFZVVUtRWGhOUzJFelZtbGFXRXAxV2xoU2JHTjZRV1ZHZHpCNVRVUkJNMDFxYTNkT1JFRXlUbFJPWVVaM01IbE5WRUV6VFdwcmQwNUVRVEpPVkZwaFRVUlJlQXBHZWtGV1FtZE9Wa0pCYjFSRWJrNDFZek5TYkdKVWNIUlpXRTR3V2xoS2VrMVNhM2RHZDFsRVZsRlJSRVY0UW5Ka1YwcHNZMjAxYkdSSFZucE1WMFpyQ21KWGJIVk5TVWxDU1dwQlRrSm5hM0ZvYTJsSE9YY3dRa0ZSUlVaQlFVOURRVkU0UVUxSlNVSkRaMHREUVZGRlFUTnRZazEzWWs5NU1EQlNjM05NVERNS2NUTXdaMlpyYm5FeFJWazJjVXd5TldKdGRXWmFhRVI0VVROSWIwOVdWaTloVlhwaVkxQTJZalZQZEhjeVNuQTJkeXRUU21kdVpXUXJVa1owUWs1VGFncGlRMUZ2VlRsMVJFNUVURzAyUXk5S01YaHlWVk41YkhOckwxZHNOMjVTVGpCUmNVSjZaMjAwZUd4TFMwRmhSek15U2xCUGRURklWRTFEVDFSQ2JXUXZDbVZNVjJ4SVl5OWhjbEk1WlM5NUszaFZiV3htT1c1VlUzTnRSalZFVjBGSk5WTXZhR3BVT0dkRVltSjRSbTFGTXpsaGJXVkxWSEpTY2paVU1FSnZaWGdLUlV4VWVIWXdWbHBNWW5ocVlWZDZaVUpDY2tVNWVuZGlaRWwzUW1WbWFXNU5jbXR2Wkdnd1kyVlBPSHB4T0hOc1JrTmpTV0YyVm1KM1MxQm1TVFZQWmdwTGEyWnZWRVZNWmtSWEsyOUdhVzA0SzBwVVpuYzRTa041VkRCUVpXaG9ZamxWZUZSYVdGQTRibkpRVDJGNk9HWTRhelpIZFZoVGNGVlhjMHRwVEZab0NsWTBlSGgwZDBsRVFWRkJRbTk1WTNkS1ZFRlBRbWRPVmtoUk9FSkJaamhGUWtGTlEwSmhRWGRGZDFsRVZsSXdiRUpCZDNkRFoxbEpTM2RaUWtKUlZVZ0tRWGRKZDBSUldVcExiMXBKYUhaalRrRlJSVXhDVVVGRVoyZEZRa0ZCWVRORFFYVkNkRUY1YmpsR1l5OHJiRzlXZDB4b1RraEhlbmhSWlhKcWExSTRWZ3A0WmxWclVYRTBhRkZ1YkVwdWRVWlVRbEZqT1dGMUsxcFpZVVJsU0N0Q2VsQkJRVUUzUlZwWVJYcFlibmRpWlZoUVFXRkJOa0Z5WVhwSmRqWmtWemR6Q2pOU1owTm9Va2RoVlhKWGNWTTRNR1pyU0doQlVHdzRieXRUZUZwcFNWSTNhVVZNTmxsV09WVlFUek5vVEc5SGJXMHJOVk5ZVXpGS1JWaFhSVFpNZDJnS1JrZzBkVGhZY0RWWGFXaGhNM1k0VTBkV1pTdDRVMHBSTjBNMVdXRjJSV2RGTkdzMVJHdFZhRmhGV0N0RVZrOXhNbVJUTlVWVFIzRnpXVGQxZDFCbFRncFJLMnhuV1dkME9YVTBaeXR5WXpKQmEwZEpNR2d4VVc1ekswZGhTelUxZDJSMmVEbGFXakp1WlVoa2JVbzBMM1pJUjNCU2NVZHNRbXhvVUU5cUszZzJDa1l4Wml0U01UUktlRUprVmt0emEwNVRNblpLUVUxRU5HMWFMMHBCUkhaeGVscG9TV014YW10SFNEbElSalp1ZG5Zd1RUMEtMUzB0TFMxRlRrUWdRMFZTVkVsR1NVTkJWRVV0TFMwdExRbz0KICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGYjJkSlFrRkJTME5CVVVWQk0yMWlUWGRpVDNrd01GSnpjMHhNTTNFek1HZG1hMjV4TVVWWk5uRk1NalZpYlhWbVdtaEVlRkV6U0c5UFZsWXZDbUZWZW1KalVEWmlOVTkwZHpKS2NEWjNLMU5LWjI1bFpDdFNSblJDVGxOcVlrTlJiMVU1ZFVST1JFeHROa012U2pGNGNsVlRlV3h6YXk5WGJEZHVVazRLTUZGeFFucG5iVFI0YkV0TFFXRkhNekpLVUU5MU1VaFVUVU5QVkVKdFpDOWxURmRzU0dNdllYSlNPV1V2ZVN0NFZXMXNaamx1VlZOemJVWTFSRmRCU1FvMVV5OW9hbFE0WjBSaVluaEdiVVV6T1dGdFpVdFVjbEp5TmxRd1FtOWxlRVZNVkhoMk1GWmFUR0o0YW1GWGVtVkNRbkpGT1hwM1ltUkpkMEpsWm1sdUNrMXlhMjlrYURCalpVODRlbkU0YzJ4R1EyTkpZWFpXWW5kTFVHWkpOVTltUzJ0bWIxUkZUR1pFVnl0dlJtbHRPQ3RLVkdaM09FcERlVlF3VUdWb2FHSUtPVlY0VkZwWVVEaHVjbEJQWVhvNFpqaHJOa2QxV0ZOd1ZWZHpTMmxNVm1oV05IaDRkSGRKUkVGUlFVSkJiMGxDUVVkRWNsTTJMMlZNT0VGQ2QxcDJMd3BaWnpsS2NVTTVaelYzVlRZeFlsWlVaVTExTVN0MlJIWXdWRkZxU0RaQ1kzTm1iV2hzVEM5YVRsQmhPVFExSzBKTmNEZE1jVmRHUWpNMFdEZEphR1JKQ2pCNU56bFZkRmMwWnpaVWNubGtWRVptY1VKUVFVNVZRV0ZIUkZOWVJURmxVV056YmxkUmIwSkZjRlJoZHpKdFUyOUNkWGg2YUZkNmQzVlVibTA1Y21VS2JqVTFja05zYmtScGRtbElRVEE0VWpaaFUxRmFNVVozUlRSWVNWSkpiWFJ3WVdwcE1uRmFVRUYzVHpodmVUbEpVVzFQV1VSMmMyTlFhbmM1YjBrdlpBcFRSU3MyWlVaTVZUZENjVzh4TlVwUmVETkVjVEJxZERkWVNsbzVNWHB5Tkc0ME9VMXVjbWxzTkc0d0syRnZWalFyVldWQ2NXRTNURGxFYldJeFVYTnBDbXBtTmxWa1JscFZWWEZsUkN0QlRVY3paMmxUYURONlRuQk1jM04zUjBKcmVVZHZORGxUVTFwVFpuSnVWbWRpTlZRNVJIRlVaVVJCWkhOQlZIaGtlUzhLWWtoNWRVZFpSVU5uV1VWQk9HOWlja2R5T1Vock5WTldiRE4xWldGTlVteHZhRkZpTm1KcmVVTlpkMFIzTkc5cU5XSTJaMDlOY2pKblpXZGhlWGN5TXdwdlFsbDBVMWxVTjBrdmQyaGpVVlFyWW1ObGVFeHZVV2xGYVZRNVRXWTJaM2RpVlZsSEsxQldaMk5oVFZKMFEyOUdlRXRsUldONU9IZDVTRzgyZWpJMkNtZGFkMGROVVM5SlFsbDFOMmxMT0dKbFRYaEtjVTl1Ykc1cVFURmhkV3BvYW5VM0x6RktjMkY0YlRoRVRtWllXQ3RMTTJzclNrMURaMWxGUVRaelIzSUtTbVZFT1hCR05uZFdXREZPY21GVk1IQnZNemx6VGt4clVsSXJRamd2ZURkSFVsSnBPVTFwV0VsbU9FZHBiakUyZVVwc1MybERaSEJXYjI5aVVtd3ZiQXBsYkVOMFRtWXhjSEZMU0RCNmFXVmpNa3MyZWxKUlRXaFJha1ZHVUN0eFYxcDZNV05QVWt0WWNYcHpNQzl1Wmtndk1uTktiSHBDUjFCS1duQldSRVY1Q25VM2NURjZUV2RESzNSNlJrWmpjazFHU2xGU1pEWlpTamMwUVZOQk0yUnpkbXhHWW1wTk1FTm5XVUkxYTNCQkx6bERjVnBJUWpWM2RGSk5VRk5aVURRS016QlBkWGRhYzBoc2FIYzROVkExYUhGR1JVRndlREI1ZFZoeVZURnhaRFZ3UTFKSVpXeFhOa1ZEVm1wV2FrZEZUR3h1ZGtNeVZsa3llRzVuSzJSaWVncDNlV1V5Y3pGeVVHeDNkWGxaT1RSbE1ITktVMEZsVDA1dVZ6TTBibWhVYWpZMldtVTJXalZIZVZkcVZXUTFTelV4ZHpSR2EyeHVPRVpuV25jNVVsRTRDbHBwYm5kR1YwRjViMGQwYm01VWEwb3JORWRRTmxGTFFtZEhTMVV5TkhNemJGTjJkVTh6ZUdFNU1FUkNWRWd2V1hoeWVqTm5jbHB2VTJOcmMzTkpSRk1LY0RnclJsbE1iamd2TUVWMUsyd3lPSGxoYVhSaVJGaFZTSGx2U2xsVVRtaEtOblY0WkVOd1JtZExhMFo0TXpkVGRHbE9NemhuU2pZeFYzRkhNVFIzV2dwSU1UUXdTMWszVm1WVFlWaEtSbmhzUmxsNmQzbzNNMjV3SzIxalJUSk1NRkZDTTNweVFsTjFiWFpFVVhwaGVXbHNWV00yWVZwbGVXNHhNMjVUTjI5TkNreHFZazVCYjBkQlprMWhkSGRVWlZoTGNtZFdXWHBsVldONFdIUXhhRE4wVFRkTGVFMVZWU3RWTlc5dlVYVmphRTlqTUhoaVRYRXdXRE5YVFRoR1IwY0tTbXN3V1ZvdlVFNXVSa1JhVFV4emIxSndVbVZXUlVONU5uZENiRWRCU2tWbVNIRm9XbUl4YVRkbmRFNTZXbFF2YzBrMVNXZzNZa2R5UzFCTmFGSkVlUXB0UlhWYU4wOXBOVVUxSzJabE1UbExOMEpoTTNjeFJUSjJWRVl6U20xd1QxVkJlVkpLTVRZck1FNDJhMjV2UkRKa2RqZzlDaTB0TFMwdFJVNUVJRkpUUVNCUVVrbFdRVlJGSUV0RldTMHRMUzB0Q2c9PQo='
kubernetes.context: 'kubernetes-admin@kubernetes'

Testing Salt command

$ salt <target-minion> kubernetes.nodes
[DEBUG   ] Configuration file path: /etc/salt/master
[WARNING ] Insecure logging configuration detected! Sensitive data may be logged.
[DEBUG   ] Reading configuration from /etc/salt/master
[DEBUG   ] Including configuration from '/etc/salt/master.d/master.conf'
[DEBUG   ] Reading configuration from /etc/salt/master.d/master.conf
[DEBUG   ] Using cached minion ID from /etc/salt/minion_id: k8s-01
[DEBUG   ] Missing configuration file: /root/.saltrc
[DEBUG   ] MasterEvent PUB socket URI: /var/run/salt/master/master_event_pub.ipc
[DEBUG   ] MasterEvent PULL socket URI: /var/run/salt/master/master_event_pull.ipc
[DEBUG   ] Initializing new AsyncZeroMQReqChannel for ('/etc/salt/pki/master', 'k8s-01_master', 'tcp://127.0.0.1:4506', 'clear')
[DEBUG   ] Connecting the Minion to the Master URI (for the return server): tcp://127.0.0.1:4506
[DEBUG   ] Trying to connect to: tcp://127.0.0.1:4506
[DEBUG   ] Closing AsyncZeroMQReqChannel instance
[DEBUG   ] LazyLoaded local_cache.get_load
[DEBUG   ] Reading minion list from /var/cache/salt/master/jobs/29/26c634bfcebd3a890ace02bc9aac1121254f45d5d4bd325d60034ae2b79a73/.minions.p
[DEBUG   ] get_iter_returns for jid 20200821044911374024 sent to {'k8s-02'} will timeout at 13:49:16.392068
[DEBUG   ] jid 20200821044911374024 return from k8s-02
[DEBUG   ] return event: {'k8s-02': {'ret': ['k8s-01', 'k8s-02', 'k8s-03'], 'retcode': 0, 'jid': '20200821044911374024'}}
[DEBUG   ] LazyLoaded nested.output
k8s-02:
    - k8s-01
    - k8s-02
    - k8s-03
[DEBUG   ] jid 20200821044911374024 found all minions {'k8s-02'}
[DEBUG   ] Closing IPCMessageSubscriber instance

 CloudHub Portal addon argument 추가

  • Sidebar의 Clouds 메뉴에서 Kubernetes Tab을  on/off optionable 처리합니다.

  • CloudHub argument에 Add-on 옵션 추가합니다.

    • -u=k8s:on

    # CloudHub server option
    #
    $ vim /etc/default/cloudhub
    CLOUDHUB_OPTS="
    .......
    -u=k8s:on \
    ......."
  • CloudHub service 재시작

    $ systemctl daemon-reload
    $ systemctl restart cloudhub

  • No labels