Kubernetes clusterlarımıza kubectl ile (veya geliştirdiğimiz bir uygulama tarafından) erişmek istediğimizde, cluster bilgilerini barındıracağımız bir yere ihtiyacımız var. Kubeconfig tam bu noktada karşımıza çıkıyor. Default olarak ~/.kube/config
pathinde yer alır fakat istersek kubectl'e farklı pathlerde kubeconfig belirtebiliriz.
Örnek bir kubeconfig dosyasına göz atalım. Aşağıda paylaştığım kubeconfig localimde çalıştırdığım kind clusterına ait:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01USXdNVEV4TWpBek1sb1hEVE13TVRFeU9URXhNakF6TWxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTis4CjRkOGJ1ZTlDS0xjbFJMbzBkby81bmRRQnNqWmlMQVNJRkVBNXRKb0ZZMzY2N1pkNVpiZWt6QjJXNjNuNlJLcE4KZEQ1SXZHOTk4SHNDcUsvcHgvb0lpY2l4VHdFcFU3a0ErNjlidCtDM2J6Rjd6VmZGNkZXSFA4VnM1VWpUaUtYego3MEYwbGJNWFdvVlBOVk91V2V6U2ZNVnl1WHpUSW8zbTljM2tuZ2RSM2lWeTVWMndvbUgwL3VOUVV5Yk5vMldiCkhnNVpNSVZ3MlRMT3NlTGcvRjlPZUZkMTlPYnZTVU1tSmNYMWFoQzhiYk1WWHhpNWJpbEdYemp3Q3JDZFNZU1AKMTgyTnJGbmo4Vk1tOTV6VDFpem1uOGU2R1pDVjdlV0t2anBTZzN0VVUvaWZ5SjRkNU1VbUZjSDZ5ZmJPSHBPRgo3Z0g1ODdYN3dGR0lGNDJKUjlrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHdERnRVZTbml0b3ZGa2k4Y0ZINnRYVEo2SGsKcS9tZjlYUTJIR2xaamR6cGFoOEtaN0NseTJFdDczUUthQVYvTkRQUWx4SFV3OFphbnhXWVZXeis4NEtQc0dhaApuQ1hPb1l4cGZOTEFPQ1V2cTJLQW9mU1FjZFRaRE5SK1N3NUNkdVByYU5NZDZXZXpBV2tsMHlHY3FLWnVVaTlMCk1ZSEJyU3dkeWlhdWI0a2NpeTJJSHVIVVFPNjM1eEgzbkswM1BtOE5RVGEyTjZiMyt6SWRlSEtRZ1Zpd3U2SXUKcHNmaEdKdjlxakpOdEFmUGRsRGxTV1ZzS0lDcWlTemxmaDF1SVdEU3hZb1V3V3BVajVDWnVrTnMxWlBoRGZIUAo1L0JjKzhrL1dlOHBhSEdiQzVJdWUwdk0vb2IweWFTQW1yL1k4ZzVOdHhWZmg3eWlFSExRVDVna1ZuYz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://127.0.0.1:32771
name: kind-local
contexts:
- context:
cluster: kind-local
user: kind-local
name: kind-local
current-context: kind-local
kind: Config
preferences: {}
users:
- name: kind-local
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJT2pDRVdVblo5Zzh3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TURFeU1ERXhNVEl3TXpKYUZ3MHlNVEV5TURFeE1USXdNelJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXNsZkZ6SXd5bzhveVdKdm4KRC9lZ3FLdG1hR3U0RnZDRWJDdUFCWUJicW1DaVltSnArZnVPUGVidmZGcW05RVo5V0ZKRS96MEVJdGVPemE4bAo2L3dKZmtDNER5bUxBbUNEaHliQTE4SU9sdVlqcHZQMDM3azJ3WTJ6Y2xvV0dhekJ6aWRXN0QxOXRTV3BmRG1YCm5tMEJoKzZKajBHR091SS90SkxJWDVoWi9XamZXU2Y2ODFpZHEvYUJkUU4ydjVvMVZLa1Y0VHJGSGcxVzFBam8KOStqM3ZXeVV0ZTRXeUxaREZrMUUwclg1MEx6UzV1VjNZWDRQNkZzVkkvZmdZb2x6SjROd043bzM0dkRNU2lSSAp4V3RpcWFwZEVZZTROTFROL1djYStFc09sWm9rV1dla1ZWeDF5ajZ5RXZQOWxSazF2Q01YVVloakdyUzA4Vi9VCktZSWsxd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFMZWxxd1hEZ3BIZ1hLWEIyQVV0RXRxTWRSbVY3RXNrd085NAozVkZiOGJOTk5rZktFdUZOUEM5OXk0R295ZXphZExvZkNlZnpmMFRKa21XY0VoNFlWWEdIZlFRWkJGQjZRajJXCmxwQzJUa2tIY0lpVjZqWXUxTHUxUHJDS1ZzK2tpRUtPYlErNTVUQndrNmg3bUo3SjlDbndCdUFZZGczdTY5ak8KOUhZQjQ1TkVVYlV2MXBFWElOS2VNNWlIT3N4bnUwemFFcWZCY1pqbHdIVzFwT09VZlNMSkFJTWN4ekR0cXNIUwoxSUUvR1BkSFNvbUU1US8xUjF2cmxLR0t0ZmRMZE9HQnhzZUIzQkFZMHQ2UGt6VTNQOTZYNERDYjVpb3dmb2ZoClRIT2t3TnpHN1NKVDMrbjU0K3Z6US8yamlPemlLOUNFTmNOem1mMDUrc2lJRWwwMUpkRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBc2xmRnpJd3lvOG95V0p2bkQvZWdxS3RtYUd1NEZ2Q0ViQ3VBQllCYnFtQ2lZbUpwCitmdU9QZWJ2ZkZxbTlFWjlXRkpFL3owRUl0ZU96YThsNi93SmZrQzREeW1MQW1DRGh5YkExOElPbHVZanB2UDAKMzdrMndZMnpjbG9XR2F6QnppZFc3RDE5dFNXcGZEbVhubTBCaCs2SmowR0dPdUkvdEpMSVg1aFovV2pmV1NmNgo4MWlkcS9hQmRRTjJ2NW8xVktrVjRUckZIZzFXMUFqbzkrajN2V3lVdGU0V3lMWkRGazFFMHJYNTBMelM1dVYzCllYNFA2RnNWSS9mZ1lvbHpKNE53TjdvMzR2RE1TaVJIeFd0aXFhcGRFWWU0TkxUTi9XY2ErRXNPbFpva1dXZWsKVlZ4MXlqNnlFdlA5bFJrMXZDTVhVWWhqR3JTMDhWL1VLWUlrMXdJREFRQUJBb0lCQVFDUkd2OVNKWVFTWmpLKwppK0xkeUFKTkdtQlJkOHVweG5wSU5NQ09PVmpiOEpKTzhIbi9ycUNXVnk3bUJEQXhNcVZMMW14VExBY1Fma2l2CnErRno5M2FWNWZ5Y1FaWGNFa0VTRndMeXllN3E4a2R4MEs2ZDFXbnE0K3Rza0VYSkVCb0VMVmY1RVRNVno1WHUKQUVJUDRldEwrVmF0VzRmbW95MW9NOEdhbmpBaUVQVTZLTmRjMnhrUkZWVVBKVnRHRHlVU2JqOUNDM3N4Um5IVAp0ZjRVRDV0eVFvVHoyQWJ2bTNDZkExZzB1eU9BbWQzUEVGWkJhcTcwZ1lhVmx0ZnA5TWJWb1VmLzh5dkVmSi9iCkdDRFloQTgzMTByMDJBdDIwcmkrSXVGR2VEN09SanhSOGovVDdqakVuY0xRQ24vT3R4TC9tWThEaUg3NG5ZOFAKWWVqZWl0bUpBb0dCQU56enFXVWQ2QmpCVFNQajVybFJNcTEwYkRhVjl2Z2FsUDk2YnZUV2NvUXRjZU1uME5TdApvVXFVQkRaMTJydGo0dE1seDVwYUxvclB5SVo5M2RUN0hWZ2pNRzh5S0w5NjVRcWdMdVlaMUI2Y2F6THJZOTJkCmRiemxTMTYyczU4VTZ5R1RpcWVlN2RJVHpoSWtPV0ZRdWVRUlBBbE4yYXdnTUxMSWdVdHROTHBUQW9HQkFNNmgKM0cwek82dkNsaGdJWFlrK1A4T1hpU2ZkQzkweTIyUzlNcEpJWHZaOEF5cUw0d0owOGFUM1BIZU9OOHBPYlNHVgpBVWdzRHFjYTJJZkV2N0svQllQMVhtaHhPVFlkNkhmUUFzSFlIcllBbHNyTlJsdFBKbDkwcEs0UUlBUVIyOWdICmcySTQva1UzZTBwVC9sUUpPdkdaQlc2ZEM3WU9aME1UL3Jhckx3THRBb0dBRlNPQ3ExZm5JcWNydUNsUG81OHYKR0FVeGJTOS94MURUdkhWOE5CUm9ORmtjc2p6VzcrSUVzbHZpNDByM09FSmdLdzlNUDJvdFZiNTNVdGFyNkhwMQozajdQblhQUkRqQzF4UVI2T0MxMGE5RlBPRG5vL2dUWWhNL3pIQWFpdksrRnAxcTBRMEVqUTV2OWRTTGVFbjlrCnFYczBvVGMvZ2dZNllvQm9UazBPWkYwQ2dZRUFpMWZGMFBJaXhFSlZlMkZ3eWxOckpwZ3pDdW5helZFMWVDcksKUnJGOU1KVVNnWWVTRDU4VE1aNzBiTjlBS2pKWEQ3VnZCdCtIQmhOcGY2MGpaUVBDVVdtUFA3bFN6bmEreE1WRwpocmdhaGJ2QjlJTVhkZzNiSDdZR004ZDEvNmlYYTRndGhuaE9xQml4RUwreG03UVp4c0RkVSttZDh5aWxaQ3ZBCnNpaWdiRVVDZ1lFQXZoWDRoaFF1clNVNEhwY1VycE4wK1JJbkRMbGRTdVR5Ri9XVU11d28yR0RDc2xwSnBPdHkKVEU1SlVtd2hFWFhSYnRDU0JSbFBjNXVBcXp1NlU0ZjB1bkdURUFVNEtTYklDWUE3WGtEaCtJdVZtZm5mb2pETQowZVExV1ZkVU1TWVVvR2NPZ2szNVZlNGtjWS91K1l2eFg2dGxTZVFFRXdPWkk2enI3N2NGT0IwPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
Genel itibari ile üç önemli alan bulunuyor. Cluster, context ve user bilgileri. Bunlar dışında current-context
alanı kubectl komutlarının uygulanacağı contexti belirtiyor.
Bütün contextlerimizi listelemek için kubectl config get-contexts
, çalışacağımız contexti seçmek için kubectl config use-context <context-name>
ve seçili contexti görüntülemek için kubectl config current-context
komutunu kullanabiliriz. Aynı zamanda kubectx
toolu yardımıyla bu işlemleri kolaylıkla yapabiliriz.
Cluster alanı server ip adresi, varsa certificate-authority ve cluster ismini barındırıyor.
Context alanı bağlanacağımız clusterı seçebilmek için ilgili cluster ismini, clustera bağlanacak user ismini ve contextin ismini barındırıyor. Aynı cluster için farklı userlar ile bağlanmak istediğimiz bir durumda, cluster alanında belirttiğimiz isim için farklı contextler oluşturarak bağlanmayı sağlayabiliriz.
User alanında bağlanacağımız clusterlara ait user bilgileri bulunuyor. Bu bilgiler cluster için ayarlanan user/service account bazında farklılık gösterebilir.
Örneğin yukarıda paylaşılan kubeconfig certificate ile authenticate olurken aşağıda paylaştığım config içerisinde token ve username&password ile authenticate olunuyor.
- Token Authentication
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: LS0tLS1CR1WbpFS21VWDlWUTlOc0pzODlKWWUKQjRnVHo0S1R0SGo5b2NhYVNjNmRuZ3dzV3ZXZlI5VHRYOW9HS0dWVHJybFovRzUvZmZON3l6VXVXVHlQL0FmcQphTmpaVW1xTnBNUHhjRzJuYkhiMEJYM1FPWjh4L2pNRFlMY05wlpPVE1lcVhEVnkQgQ0VSVElGSUNBVEUtLS0tLUdJTiBFbU9PSXdjRmcrdBVRGt6ZHNCbFdVSkJWYzltZ0V3Z2hLZ3h2M1k2VkMrMk8xazUvCkI1OXBwdHEwRWI3bGhLd25DOTAvSG9oR1pkSDlRbVhFWW56bUExOEl0YnZpQlJobWNKWDVteERZQUFwVHgKbmZSTUdQTjMvTVZ5QXZMMDl4dmpFM3lBYithVTZCS2hGdnQ2bnVnK0RJcDdad0NuZlVMcERPMVFMUGhsL3VSNQpVYXkzT1N6TXE0Z3pIa0lPbVVrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFCY2g1Umx0R2h4WVlMMUJKdWNnOE45WVA1Q0oKN1k5bmNKWUhmDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKV2hMRlE5Wi9Nb2NRVy82L3hxVmkwS0tFUkFsU00yWDdGb09EejlYNS8KS0J1dURySXZ1T1NLbWJPc0prMXhRZHBJSVl4a00xaWlXWTMyTTU1YXhCS2x6SVFscWIyRFY3NzRDMFBGZkVKWgp5NGNCUlhL09NTTlwMEhzQi9SmZ5R01qeTZ5SjA4WGZrNDMzOCtJdkRZdEJ3Vmwzd2o1L2loVTJRdFBtQWZiei9pNGM2ZDBvdgpWTUZoSWt0ZDVhY3NjSzZEWTVkL2xIbkcvWlXRlcC95dzQ2K29XMD0KLS0tLS1FTFlvT0c5ZFNSc0sxaXY5Yy9xSC8vbUdBOVE0aUFJQUVtbGFxVjk1eC92WUxlOUNIOExQM2dzWHA3emNYCk1MRXpOL0ozMUhBTTlxMEtpOVlSMHhvbnI5aEhUemRTUytTN3Y4V0JIQjY0S1o2N01hEVE13TURZd09EQTVOVEF6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2lFCY201bGRHVnpNQjRYRFRJd01EWXhNREE1TlRBekQo=
server: https://127.0.0.1:32771
name: kind-local
contexts:
- context:
cluster: kind-local
user: kind-local
name: kind-local
current-context: kind-local
kind: Config
preferences: {}
users:
- name: kind-local
user:
token: eyJhbeyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvGciOiJSURTdCN3FDNVhsclhSUXRidkI4c2sifQ.dW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMjNlZjZkNmQtOTUyNy00YzI1NiIsImtpZCI6IjFqSGMwTjBXalVKSVFZV0dYY3hhaFd3jc3LTg2OWQtYTkwOWZmMGZlYThlIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRldmVsb3BlciJ9.c_Vt3Yszd5u8Fdt4HHDtdZC4hoC5wpryBJUYucmV0Lm5hbWUiOiJkZXZlbG9wZXItdG9rZW4tZjd2dGciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGV2ZWxvcGVyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWbwovwvc9Su4GtehZ4LmfcpJMqRxyZAZeZSSAnLTIgG4CGBlwjevPl2ir3PN8YVNXTB19uP79M2D4peY4pZxIpJp1gsyshqO_7Ox0qPDTaRWpGbK0RXlpBEo-s-SxY9Jfsh8QEQygb1iv4hxKe4-R_jbD-4LiroA8PkDCwF8oN2mpxyJUIK59JS8SH2ayX_PiTQiuX458T3L5upDvHK2f8OD_ehjkN0nWeIN-omsT-vOiduVVnRf7T6TItorxNGJQ6C21CNvorV9XScRHMUHRAVFMcSUlSDPX0fZoadxW3Q0dhApFD
- Username Password Authentication
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: https://127.0.0.1:32771
name: kind-local
contexts:
- context:
cluster: kind-local
user: kind-local
name: kind-local
current-context: kind-local
kind: Config
preferences: {}
users:
- name: kind-local
user:
username: developer
password: developer
Birden fazla cluster ile çalışırken kubeconfig dosyamızın nasıl bir yapıya sahip olduğunu göstermek amacıyla yukarıdaki örneklerde gösterilen clusterları bir araya getiren multi-cluster config'e göz atalım:
apiVersion: v1
clusters:
- cluster:
insecure-skip-tls-verify: true
server: https://127.0.0.1:32771
name: kind-local-1
- cluster:
certificate-authority-data: LS0tLS1CR1WbpFS21VWDlWUTlOc0pzODlKWWUKQjRnVHo0S1R0SGo5b2NhYVNjNmRuZ3dzV3ZXZlI5VHRYOW9HS0dWVHJybFovRzUvZmZON3l6VXVXVHlQL0FmcQphTmpaVW1xTnBNUHhjRzJuYkhiMEJYM1FPWjh4L2pNRFlMY05wlpPVE1lcVhEVnkQgQ0VSVElGSUNBVEUtLS0tLUdJTiBFbU9PSXdjRmcrdBVRGt6ZHNCbFdVSkJWYzltZ0V3Z2hLZ3h2M1k2VkMrMk8xazUvCkI1OXBwdHEwRWI3bGhLd25DOTAvSG9oR1pkSDlRbVhFWW56bUExOEl0YnZpQlJobWNKWDVteERZQUFwVHgKbmZSTUdQTjMvTVZ5QXZMMDl4dmpFM3lBYithVTZCS2hGdnQ2bnVnK0RJcDdad0NuZlVMcERPMVFMUGhsL3VSNQpVYXkzT1N6TXE0Z3pIa0lPbVVrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFCY2g1Umx0R2h4WVlMMUJKdWNnOE45WVA1Q0oKN1k5bmNKWUhmDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKV2hMRlE5Wi9Nb2NRVy82L3hxVmkwS0tFUkFsU00yWDdGb09EejlYNS8KS0J1dURySXZ1T1NLbWJPc0prMXhRZHBJSVl4a00xaWlXWTMyTTU1YXhCS2x6SVFscWIyRFY3NzRDMFBGZkVKWgp5NGNCUlhL09NTTlwMEhzQi9SmZ5R01qeTZ5SjA4WGZrNDMzOCtJdkRZdEJ3Vmwzd2o1L2loVTJRdFBtQWZiei9pNGM2ZDBvdgpWTUZoSWt0ZDVhY3NjSzZEWTVkL2xIbkcvWlXRlcC95dzQ2K29XMD0KLS0tLS1FTFlvT0c5ZFNSc0sxaXY5Yy9xSC8vbUdBOVE0aUFJQUVtbGFxVjk1eC92WUxlOUNIOExQM2dzWHA3emNYCk1MRXpOL0ozMUhBTTlxMEtpOVlSMHhvbnI5aEhUemRTUytTN3Y4V0JIQjY0S1o2N01hEVE13TURZd09EQTVOVEF6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS2lFCY201bGRHVnpNQjRYRFRJd01EWXhNREE1TlRBekQo=
server: https://127.0.0.1:32771
name: kind-local-2
- cluster:
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01USXdNVEV4TWpBek1sb1hEVE13TVRFeU9URXhNakF6TWxvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTis4CjRkOGJ1ZTlDS0xjbFJMbzBkby81bmRRQnNqWmlMQVNJRkVBNXRKb0ZZMzY2N1pkNVpiZWt6QjJXNjNuNlJLcE4KZEQ1SXZHOTk4SHNDcUsvcHgvb0lpY2l4VHdFcFU3a0ErNjlidCtDM2J6Rjd6VmZGNkZXSFA4VnM1VWpUaUtYego3MEYwbGJNWFdvVlBOVk91V2V6U2ZNVnl1WHpUSW8zbTljM2tuZ2RSM2lWeTVWMndvbUgwL3VOUVV5Yk5vMldiCkhnNVpNSVZ3MlRMT3NlTGcvRjlPZUZkMTlPYnZTVU1tSmNYMWFoQzhiYk1WWHhpNWJpbEdYemp3Q3JDZFNZU1AKMTgyTnJGbmo4Vk1tOTV6VDFpem1uOGU2R1pDVjdlV0t2anBTZzN0VVUvaWZ5SjRkNU1VbUZjSDZ5ZmJPSHBPRgo3Z0g1ODdYN3dGR0lGNDJKUjlrQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFHdERnRVZTbml0b3ZGa2k4Y0ZINnRYVEo2SGsKcS9tZjlYUTJIR2xaamR6cGFoOEtaN0NseTJFdDczUUthQVYvTkRQUWx4SFV3OFphbnhXWVZXeis4NEtQc0dhaApuQ1hPb1l4cGZOTEFPQ1V2cTJLQW9mU1FjZFRaRE5SK1N3NUNkdVByYU5NZDZXZXpBV2tsMHlHY3FLWnVVaTlMCk1ZSEJyU3dkeWlhdWI0a2NpeTJJSHVIVVFPNjM1eEgzbkswM1BtOE5RVGEyTjZiMyt6SWRlSEtRZ1Zpd3U2SXUKcHNmaEdKdjlxakpOdEFmUGRsRGxTV1ZzS0lDcWlTemxmaDF1SVdEU3hZb1V3V3BVajVDWnVrTnMxWlBoRGZIUAo1L0JjKzhrL1dlOHBhSEdiQzVJdWUwdk0vb2IweWFTQW1yL1k4ZzVOdHhWZmg3eWlFSExRVDVna1ZuYz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
server: https://127.0.0.1:32771
name: kind-local-3
contexts:
- context:
cluster: kind-local-1
user: kind-local-password
name: kind-local-1
- context:
cluster: kind-local-2
user: kind-local-token
name: kind-local-2
- context:
cluster: kind-local-3
user: kind-local-ca
name: kind-local-3
current-context: kind-local-1
kind: Config
preferences: {}
users:
- name: kind-local-password
user:
username: developer
password: developer
- name: kind-local-token
user:
token: eyJhbeyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvGciOiJSURTdCN3FDNVhsclhSUXRidkI4c2sifQ.dW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMjNlZjZkNmQtOTUyNy00YzI1NiIsImtpZCI6IjFqSGMwTjBXalVKSVFZV0dYY3hhaFd3jc3LTg2OWQtYTkwOWZmMGZlYThlIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRldmVsb3BlciJ9.c_Vt3Yszd5u8Fdt4HHDtdZC4hoC5wpryBJUYucmV0Lm5hbWUiOiJkZXZlbG9wZXItdG9rZW4tZjd2dGciLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGV2ZWxvcGVyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWbwovwvc9Su4GtehZ4LmfcpJMqRxyZAZeZSSAnLTIgG4CGBlwjevPl2ir3PN8YVNXTB19uP79M2D4peY4pZxIpJp1gsyshqO_7Ox0qPDTaRWpGbK0RXlpBEo-s-SxY9Jfsh8QEQygb1iv4hxKe4-R_jbD-4LiroA8PkDCwF8oN2mpxyJUIK59JS8SH2ayX_PiTQiuX458T3L5upDvHK2f8OD_ehjkN0nWeIN-omsT-vOiduVVnRf7T6TItorxNGJQ6C21CNvorV9XScRHMUHRAVFMcSUlSDPX0fZoadxW3Q0dhApFD
- name: kind-local-ca
user:
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJT2pDRVdVblo5Zzh3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TURFeU1ERXhNVEl3TXpKYUZ3MHlNVEV5TURFeE1USXdNelJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXNsZkZ6SXd5bzhveVdKdm4KRC9lZ3FLdG1hR3U0RnZDRWJDdUFCWUJicW1DaVltSnArZnVPUGVidmZGcW05RVo5V0ZKRS96MEVJdGVPemE4bAo2L3dKZmtDNER5bUxBbUNEaHliQTE4SU9sdVlqcHZQMDM3azJ3WTJ6Y2xvV0dhekJ6aWRXN0QxOXRTV3BmRG1YCm5tMEJoKzZKajBHR091SS90SkxJWDVoWi9XamZXU2Y2ODFpZHEvYUJkUU4ydjVvMVZLa1Y0VHJGSGcxVzFBam8KOStqM3ZXeVV0ZTRXeUxaREZrMUUwclg1MEx6UzV1VjNZWDRQNkZzVkkvZmdZb2x6SjROd043bzM0dkRNU2lSSAp4V3RpcWFwZEVZZTROTFROL1djYStFc09sWm9rV1dla1ZWeDF5ajZ5RXZQOWxSazF2Q01YVVloakdyUzA4Vi9VCktZSWsxd0lEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFMZWxxd1hEZ3BIZ1hLWEIyQVV0RXRxTWRSbVY3RXNrd085NAozVkZiOGJOTk5rZktFdUZOUEM5OXk0R295ZXphZExvZkNlZnpmMFRKa21XY0VoNFlWWEdIZlFRWkJGQjZRajJXCmxwQzJUa2tIY0lpVjZqWXUxTHUxUHJDS1ZzK2tpRUtPYlErNTVUQndrNmg3bUo3SjlDbndCdUFZZGczdTY5ak8KOUhZQjQ1TkVVYlV2MXBFWElOS2VNNWlIT3N4bnUwemFFcWZCY1pqbHdIVzFwT09VZlNMSkFJTWN4ekR0cXNIUwoxSUUvR1BkSFNvbUU1US8xUjF2cmxLR0t0ZmRMZE9HQnhzZUIzQkFZMHQ2UGt6VTNQOTZYNERDYjVpb3dmb2ZoClRIT2t3TnpHN1NKVDMrbjU0K3Z6US8yamlPemlLOUNFTmNOem1mMDUrc2lJRWwwMUpkRT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBc2xmRnpJd3lvOG95V0p2bkQvZWdxS3RtYUd1NEZ2Q0ViQ3VBQllCYnFtQ2lZbUpwCitmdU9QZWJ2ZkZxbTlFWjlXRkpFL3owRUl0ZU96YThsNi93SmZrQzREeW1MQW1DRGh5YkExOElPbHVZanB2UDAKMzdrMndZMnpjbG9XR2F6QnppZFc3RDE5dFNXcGZEbVhubTBCaCs2SmowR0dPdUkvdEpMSVg1aFovV2pmV1NmNgo4MWlkcS9hQmRRTjJ2NW8xVktrVjRUckZIZzFXMUFqbzkrajN2V3lVdGU0V3lMWkRGazFFMHJYNTBMelM1dVYzCllYNFA2RnNWSS9mZ1lvbHpKNE53TjdvMzR2RE1TaVJIeFd0aXFhcGRFWWU0TkxUTi9XY2ErRXNPbFpva1dXZWsKVlZ4MXlqNnlFdlA5bFJrMXZDTVhVWWhqR3JTMDhWL1VLWUlrMXdJREFRQUJBb0lCQVFDUkd2OVNKWVFTWmpLKwppK0xkeUFKTkdtQlJkOHVweG5wSU5NQ09PVmpiOEpKTzhIbi9ycUNXVnk3bUJEQXhNcVZMMW14VExBY1Fma2l2CnErRno5M2FWNWZ5Y1FaWGNFa0VTRndMeXllN3E4a2R4MEs2ZDFXbnE0K3Rza0VYSkVCb0VMVmY1RVRNVno1WHUKQUVJUDRldEwrVmF0VzRmbW95MW9NOEdhbmpBaUVQVTZLTmRjMnhrUkZWVVBKVnRHRHlVU2JqOUNDM3N4Um5IVAp0ZjRVRDV0eVFvVHoyQWJ2bTNDZkExZzB1eU9BbWQzUEVGWkJhcTcwZ1lhVmx0ZnA5TWJWb1VmLzh5dkVmSi9iCkdDRFloQTgzMTByMDJBdDIwcmkrSXVGR2VEN09SanhSOGovVDdqakVuY0xRQ24vT3R4TC9tWThEaUg3NG5ZOFAKWWVqZWl0bUpBb0dCQU56enFXVWQ2QmpCVFNQajVybFJNcTEwYkRhVjl2Z2FsUDk2YnZUV2NvUXRjZU1uME5TdApvVXFVQkRaMTJydGo0dE1seDVwYUxvclB5SVo5M2RUN0hWZ2pNRzh5S0w5NjVRcWdMdVlaMUI2Y2F6THJZOTJkCmRiemxTMTYyczU4VTZ5R1RpcWVlN2RJVHpoSWtPV0ZRdWVRUlBBbE4yYXdnTUxMSWdVdHROTHBUQW9HQkFNNmgKM0cwek82dkNsaGdJWFlrK1A4T1hpU2ZkQzkweTIyUzlNcEpJWHZaOEF5cUw0d0owOGFUM1BIZU9OOHBPYlNHVgpBVWdzRHFjYTJJZkV2N0svQllQMVhtaHhPVFlkNkhmUUFzSFlIcllBbHNyTlJsdFBKbDkwcEs0UUlBUVIyOWdICmcySTQva1UzZTBwVC9sUUpPdkdaQlc2ZEM3WU9aME1UL3Jhckx3THRBb0dBRlNPQ3ExZm5JcWNydUNsUG81OHYKR0FVeGJTOS94MURUdkhWOE5CUm9ORmtjc2p6VzcrSUVzbHZpNDByM09FSmdLdzlNUDJvdFZiNTNVdGFyNkhwMQozajdQblhQUkRqQzF4UVI2T0MxMGE5RlBPRG5vL2dUWWhNL3pIQWFpdksrRnAxcTBRMEVqUTV2OWRTTGVFbjlrCnFYczBvVGMvZ2dZNllvQm9UazBPWkYwQ2dZRUFpMWZGMFBJaXhFSlZlMkZ3eWxOckpwZ3pDdW5helZFMWVDcksKUnJGOU1KVVNnWWVTRDU4VE1aNzBiTjlBS2pKWEQ3VnZCdCtIQmhOcGY2MGpaUVBDVVdtUFA3bFN6bmEreE1WRwpocmdhaGJ2QjlJTVhkZzNiSDdZR004ZDEvNmlYYTRndGhuaE9xQml4RUwreG03UVp4c0RkVSttZDh5aWxaQ3ZBCnNpaWdiRVVDZ1lFQXZoWDRoaFF1clNVNEhwY1VycE4wK1JJbkRMbGRTdVR5Ri9XVU11d28yR0RDc2xwSnBPdHkKVEU1SlVtd2hFWFhSYnRDU0JSbFBjNXVBcXp1NlU0ZjB1bkdURUFVNEtTYklDWUE3WGtEaCtJdVZtZm5mb2pETQowZVExV1ZkVU1TWVVvR2NPZ2szNVZlNGtjWS91K1l2eFg2dGxTZVFFRXdPWkk2enI3N2NGT0IwPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
Kubectl ile çalışırken birden fazla kubeconfig dosyasını kullanmaya ihtiyacımız olabilir. Bu gibi durumlarda farklı config dosyalarını belirtebilmek amacıyla --kubeconfig
parametresini kullanabiliriz.
kubectl get pods --kubeconfig=</.kube/another-config>
Aynı zamanda bulunduğumuz session içerisinde --kubeconfig parametresini tekrar tekrar yazmamak amacıyla export KUBECONFIG=<path>
şeklinde environment variable ile de config pathimizi belirtebiliriz.