Installation
Kubernetes API를 호출하는데 사용할 Target Minion에 아래와 같이 Package를 설치합니다.
root 권한에서 작업합니다.
kubernetes 설치
Kubernetes API Python Bindings
$ pip3 install kubernetes
Configuring K8s KUBERNETESMOD
salt-minion
config에 추가할 내용은 다음과 같다.
아래 中, kubernetes.kubeconfig
와 kubernetes.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
파일 내용을 base64
로 one 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
0 Comments