Давайте посмотрим, каким образом можно обновить секрет Kubernetes.
Для примера мы создадим образец сертификата.
openssl req -subj "/commonName=example.org/" -x509 -nodes -days 730 -newkey rsa:2048 -keyout example.key -out example.pem
Создадим секрет tls.
kubectl create secret tls example.org-tls --key example.key --cert example.pemsecret/example.org-tls created
Проверим секрет.
kubectl get secret example.org-tls -o yamlapiVersion: v1data:tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREVENDQWZXZ0F3SUJBZ0lVVDRnT2RqdVQzb2N3T2VFblVtTG9YcTVKemJnd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0ZqRVVNQklHQTFVRUF3d0xaWGhoYlhCc1pTNXZjbWN3SGhjTk1qTXdPREU1TWpJMU1EUTNXaGNOTWpVdwpPREU0TWpJMU1EUTNXakFXTVJRd0VnWURWUVFEREF0bGVHRnRjR3hsTG05eVp6Q0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLOGVnK0lBOTVqeTFyYzJ5cTN6MXVYR1djR3hlZ3pQU0tTSE9VY1QKV3FFZTZWOUl5alFEaFZlM3gxZEZFNEJJSFphbXE0Snl6aitBUUVGMm45eXRnWGUzUTMwbk5jVkwrL3Q2d2R1Vwo4MGVDaWJSU09EQjJuZTZtcDhEcGZhZzRsWU5oZDQwclZUWUVxMDRVY1NGamZxMDlDa3N0L0lwME1JOG5yR3NSClNnVlIxQnNNSnZvT0FOaTV5NlZELzFSS1ZVdldZckFEa2hNT0FIWFBvVVcwVmgrSWZhSE9HVks2QlpiWXRiSlEKallTdjhXeW5USUJpRjU4bWs1cG5Yem1FRTNISHJWVGk0dVZjbFlZQ0FyTXB6dmZpOFFsQUtycEd5Ly9CV2dUZgpMVFQwNlByL09aYU45SHVCTnpsaTAwbDE4OTdzUXR6UHc5Ri9Pb05CN3lnMzdYVUNBd0VBQWFOVE1GRXdIUVlEClZSME9CQllFRk02czRDeWplektzNUlPYnBoMEVONUJXZENFN01COEdBMVVkSXdRWU1CYUFGTTZzNEN5amV6S3MKNUlPYnBoMEVONUJXZENFN01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBSlhnU2U4enFNd1hETXZOUkpmSGkrVURRK0MyemJ4Q21nMVlNaXNGbFJKcHZTNXo0RmpJdk1sZEZZbXdlbzZVCmhjdCswVTBoMFhlcnFncTA5MjNEUTByMUtaMWI5dlhLcHAzT2l3Y000L2czMzMrMWhGaDFndDc4eCtTTCtIaDQKeFNIZVd6T1plQkUyRUxyMmFsNUZYUTAwREthZ3BXaElOM1VtcUpoRnBQOS90WVFjYjNhU0JnNVBaQklES3UrdwpBMXZHSE9VUjRRQU04dzMyMCtmdGgvaUtIcGxDUlo4Uk4wSDhGYUZ6U1JMUFc3c2xjc21hVitaR0g4VWVqQmgrClptWG9CWGtRTW9zNWR1L3ZMU0xPZXgzWFBhYTZReXk0VGRkcFIrcVBpTzVaWnQ0bGdLUXFpcnJ5MDNTVGl4dkcKUWNDUnh5VjM1RWtkR0dXY0lhaU4yQjA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0Ktls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ3ZIb1BpQVBlWTh0YTMKTnNxdDg5Ymx4bG5Cc1hvTXowaWtoemxIRTFxaEh1bGZTTW8wQTRWWHQ4ZFhSUk9BU0IyV3BxdUNjczQvZ0VCQgpkcC9jcllGM3QwTjlKelhGUy92N2VzSGJsdk5IZ29tMFVqZ3dkcDN1cHFmQTZYMm9PSldEWVhlTksxVTJCS3RPCkZIRWhZMzZ0UFFwTExmeUtkRENQSjZ4ckVVb0ZVZFFiRENiNkRnRFl1Y3VsUS85VVNsVkwxbUt3QTVJVERnQjEKejZGRnRGWWZpSDJoemhsU3VnV1cyTFd5VUkyRXIvRnNwMHlBWWhlZkpwT2FaMTg1aEJOeHg2MVU0dUxsWEpXRwpBZ0t6S2M3MzR2RUpRQ3E2UnN2L3dWb0UzeTAwOU9qNi96bVdqZlI3Z1RjNVl0TkpkZlBlN0VMY3o4UFJmenFEClFlOG9OKzExQWdNQkFBRUNnZ0VBR0xEMFJuTDlkamJUT0gwRXdkY3VOektxNkNrV2ZPVGpLTE9hUzErNnVSb0wKTExDdU5meERHbFdpeVRiSG82QkhiN3pyVk5iTUp0NzE4R1VCOEZNVWZLVTk0bEViZjBpUjdHam9HWWFrb2JJUgpxWGVvVFlrRUJxaS80VzdxbFVQNUxNK2ExREJHY1BuaWozMUpZRHhQbWF5UUhYNkw2NWVyV3h2c2J5SStiaFphClF2SndHMGdiS1NGWUpkMVE3eG4vMDNDZWl5WkNRTXR4a0EzM2ZkRzkwL1Nzd0tXRGtUMjdXM2FlQTJ0STBvSjcKZEVtaHI4ekhJcDRVeU5zOVhsNEtLWFdPeUdYanlLdHpCWkFubDFpemhtSjFWbmlOdEwwKzJYSnlPZkwzcXRxMgpUdERXSmlPNjh6dS9GWGlDejZXZmdCSU9DMmVSZ1pZN2E2cDFWbmhWSndLQmdRREh1V1NwTk45c0hHNjlabXB4CmVMSXlNM3NhUm1hM2lpOVJRWGRBbzErTjk0M1FyRUM3c3EzaGw1dFBEK042Y1FpTU0rWFAvMVhzd0xKdE9QZUMKemxXcHl4QW1JMlFiZ0R5TFRGdW5YaXpuSjE3NHIvUkk5Y0NubVFjYzE0UXF6RHgzTHRlUURCUit0aHprSzcvdwpMTWNrVGNhQUhVeUhrOURaZm9YYlNFR3FFd0tCZ1FEZ2RrMWF1M2M4bHBvQk5IWTJkQnQ3LzljR0dHUENGWkxjCnRXUG1yN3ZJSDN6aEZ1YU5vUjZkMVpuclpFTjc0eDhsd2djQ3RHMENVQ0d3K09VT25aZHNwTEE4TnAyZlZVeTEKSWJIWmhqWEZsV3hOKy9iVzFJMWJUamNLa0l0MThMSVloU2k2MThJcXcxMHlGOXRCMnhUUU5uRlNFQXVnRGZ0ZQpXUTQ0WkJCN1Z3S0JnRVhoM1pIQytVWG5zT3UrY1JJaERDQzZtS0U1N3VqYmhmRGxlaWQ0d285M0JmejB1SFcwCmNGalY1amJFdFhCN0ttVjhKelllL2w2bmtnYmJmdWNhOFNoRzcvQ1lRNGZIMStkWm9Wd3ZmSUNvNnZjVEFlT2gKY1haeStlVWlsNUV1QXg0a21ySkJOODZhUkFPbU56Ti9SM0t4Yi9vVnhsaE41UzZrc1l0bmZlcFhBb0dCQUtScwpKSGZ0VVFmUjdoZ3AzTnBBclExbE9KYWZjUnZ2LzdlcksvWUZEdEltdHF5UHdPMUlkQXY4TnhibVNFVE05N2tKCjYyYkEwZ1ZhdTROT24wUFlqdDZudU8weXVMM0psem9yNTRMSFBFWnpFWFlDdHl0aFlmYmJVWmhzajZ3aVYrTjgKVDN5bXBmWDdUQjV3dVUwQmRicWIxdURkSGhidGh3L3l2bWJ5YmR4YkFvR0FKdkxzdUhWbFJ4VUw2cGZvNUw1Vwo3WERGdC9ycThhRlZFZGpQTW9LMTZnRENOMTBEZEZaUGp6dFdMdjBTNVpYYTB4Y0ZPb2s2LzllQTFUaEcxVHVhCk9TWWMvMTdHZmlLNjVvV1dDY0lqbzJUZ1hZTFZTNDhqeTVjRHdjajZKRit5NWZaZ3l6N3QyNkNxa25Odnd1RnIKbWRrT29RdkFaQndXMjFHL0hkTlJ5SlU9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0Kkind: Secretmetadata:creationTimestamp: "2023-08-19T22:51:35Z"name: example.org-tlsnamespace: aresourceVersion: "1016300"uid: 8626e9a1-254f-45fc-b8f9-83521793c51btype: kubernetes.io/tls
Создадим аннотацию для последней примененной конфигурации.
Вы можете пропустить этот шаг, но впоследствии получите предупреждение, когда эта аннотация будет создана впервые.
kubectl patch secret example.org-tls -p '{"metadata": {"annotations":{"kubectl.kubernetes.io/last-applied-configuration":""}}}'secret/example.org-tls patched
Создадим новый сертификат.
openssl req -subj "/commonName=example.org/" -x509 -nodes -days 730 -newkey rsa:2048 -keyout example.new.key -out example.new.pem
Проверим новый ресурс, не обновляя его, убедившись, что старая конфигурация сохранена в его аннотации.
kubectl create secret tls example.org-tls --key example.key --cert example.pem -o yaml --dry-run=client --save-configapiVersion: v1data:tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREVENDQWZXZ0F3SUJBZ0lVVDRnT2RqdVQzb2N3T2VFblVtTG9YcTVKemJnd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0ZqRVVNQklHQTFVRUF3d0xaWGhoYlhCc1pTNXZjbWN3SGhjTk1qTXdPREU1TWpJMU1EUTNXaGNOTWpVdwpPREU0TWpJMU1EUTNXakFXTVJRd0VnWURWUVFEREF0bGVHRnRjR3hsTG05eVp6Q0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLOGVnK0lBOTVqeTFyYzJ5cTN6MXVYR1djR3hlZ3pQU0tTSE9VY1QKV3FFZTZWOUl5alFEaFZlM3gxZEZFNEJJSFphbXE0Snl6aitBUUVGMm45eXRnWGUzUTMwbk5jVkwrL3Q2d2R1Vwo4MGVDaWJSU09EQjJuZTZtcDhEcGZhZzRsWU5oZDQwclZUWUVxMDRVY1NGamZxMDlDa3N0L0lwME1JOG5yR3NSClNnVlIxQnNNSnZvT0FOaTV5NlZELzFSS1ZVdldZckFEa2hNT0FIWFBvVVcwVmgrSWZhSE9HVks2QlpiWXRiSlEKallTdjhXeW5USUJpRjU4bWs1cG5Yem1FRTNISHJWVGk0dVZjbFlZQ0FyTXB6dmZpOFFsQUtycEd5Ly9CV2dUZgpMVFQwNlByL09aYU45SHVCTnpsaTAwbDE4OTdzUXR6UHc5Ri9Pb05CN3lnMzdYVUNBd0VBQWFOVE1GRXdIUVlEClZSME9CQllFRk02czRDeWplektzNUlPYnBoMEVONUJXZENFN01COEdBMVVkSXdRWU1CYUFGTTZzNEN5amV6S3MKNUlPYnBoMEVONUJXZENFN01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBSlhnU2U4enFNd1hETXZOUkpmSGkrVURRK0MyemJ4Q21nMVlNaXNGbFJKcHZTNXo0RmpJdk1sZEZZbXdlbzZVCmhjdCswVTBoMFhlcnFncTA5MjNEUTByMUtaMWI5dlhLcHAzT2l3Y000L2czMzMrMWhGaDFndDc4eCtTTCtIaDQKeFNIZVd6T1plQkUyRUxyMmFsNUZYUTAwREthZ3BXaElOM1VtcUpoRnBQOS90WVFjYjNhU0JnNVBaQklES3UrdwpBMXZHSE9VUjRRQU04dzMyMCtmdGgvaUtIcGxDUlo4Uk4wSDhGYUZ6U1JMUFc3c2xjc21hVitaR0g4VWVqQmgrClptWG9CWGtRTW9zNWR1L3ZMU0xPZXgzWFBhYTZReXk0VGRkcFIrcVBpTzVaWnQ0bGdLUXFpcnJ5MDNTVGl4dkcKUWNDUnh5VjM1RWtkR0dXY0lhaU4yQjA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0Ktls.key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ3ZIb1BpQVBlWTh0YTMKTnNxdDg5Ymx4bG5Cc1hvTXowaWtoemxIRTFxaEh1bGZTTW8wQTRWWHQ4ZFhSUk9BU0IyV3BxdUNjczQvZ0VCQgpkcC9jcllGM3QwTjlKelhGUy92N2VzSGJsdk5IZ29tMFVqZ3dkcDN1cHFmQTZYMm9PSldEWVhlTksxVTJCS3RPCkZIRWhZMzZ0UFFwTExmeUtkRENQSjZ4ckVVb0ZVZFFiRENiNkRnRFl1Y3VsUS85VVNsVkwxbUt3QTVJVERnQjEKejZGRnRGWWZpSDJoemhsU3VnV1cyTFd5VUkyRXIvRnNwMHlBWWhlZkpwT2FaMTg1aEJOeHg2MVU0dUxsWEpXRwpBZ0t6S2M3MzR2RUpRQ3E2UnN2L3dWb0UzeTAwOU9qNi96bVdqZlI3Z1RjNVl0TkpkZlBlN0VMY3o4UFJmenFEClFlOG9OKzExQWdNQkFBRUNnZ0VBR0xEMFJuTDlkamJUT0gwRXdkY3VOektxNkNrV2ZPVGpLTE9hUzErNnVSb0wKTExDdU5meERHbFdpeVRiSG82QkhiN3pyVk5iTUp0NzE4R1VCOEZNVWZLVTk0bEViZjBpUjdHam9HWWFrb2JJUgpxWGVvVFlrRUJxaS80VzdxbFVQNUxNK2ExREJHY1BuaWozMUpZRHhQbWF5UUhYNkw2NWVyV3h2c2J5SStiaFphClF2SndHMGdiS1NGWUpkMVE3eG4vMDNDZWl5WkNRTXR4a0EzM2ZkRzkwL1Nzd0tXRGtUMjdXM2FlQTJ0STBvSjcKZEVtaHI4ekhJcDRVeU5zOVhsNEtLWFdPeUdYanlLdHpCWkFubDFpemhtSjFWbmlOdEwwKzJYSnlPZkwzcXRxMgpUdERXSmlPNjh6dS9GWGlDejZXZmdCSU9DMmVSZ1pZN2E2cDFWbmhWSndLQmdRREh1V1NwTk45c0hHNjlabXB4CmVMSXlNM3NhUm1hM2lpOVJRWGRBbzErTjk0M1FyRUM3c3EzaGw1dFBEK042Y1FpTU0rWFAvMVhzd0xKdE9QZUMKemxXcHl4QW1JMlFiZ0R5TFRGdW5YaXpuSjE3NHIvUkk5Y0NubVFjYzE0UXF6RHgzTHRlUURCUit0aHprSzcvdwpMTWNrVGNhQUhVeUhrOURaZm9YYlNFR3FFd0tCZ1FEZ2RrMWF1M2M4bHBvQk5IWTJkQnQ3LzljR0dHUENGWkxjCnRXUG1yN3ZJSDN6aEZ1YU5vUjZkMVpuclpFTjc0eDhsd2djQ3RHMENVQ0d3K09VT25aZHNwTEE4TnAyZlZVeTEKSWJIWmhqWEZsV3hOKy9iVzFJMWJUamNLa0l0MThMSVloU2k2MThJcXcxMHlGOXRCMnhUUU5uRlNFQXVnRGZ0ZQpXUTQ0WkJCN1Z3S0JnRVhoM1pIQytVWG5zT3UrY1JJaERDQzZtS0U1N3VqYmhmRGxlaWQ0d285M0JmejB1SFcwCmNGalY1amJFdFhCN0ttVjhKelllL2w2bmtnYmJmdWNhOFNoRzcvQ1lRNGZIMStkWm9Wd3ZmSUNvNnZjVEFlT2gKY1haeStlVWlsNUV1QXg0a21ySkJOODZhUkFPbU56Ti9SM0t4Yi9vVnhsaE41UzZrc1l0bmZlcFhBb0dCQUtScwpKSGZ0VVFmUjdoZ3AzTnBBclExbE9KYWZjUnZ2LzdlcksvWUZEdEltdHF5UHdPMUlkQXY4TnhibVNFVE05N2tKCjYyYkEwZ1ZhdTROT24wUFlqdDZudU8weXVMM0psem9yNTRMSFBFWnpFWFlDdHl0aFlmYmJVWmhzajZ3aVYrTjgKVDN5bXBmWDdUQjV3dVUwQmRicWIxdURkSGhidGh3L3l2bWJ5YmR4YkFvR0FKdkxzdUhWbFJ4VUw2cGZvNUw1Vwo3WERGdC9ycThhRlZFZGpQTW9LMTZnRENOMTBEZEZaUGp6dFdMdjBTNVpYYTB4Y0ZPb2s2LzllQTFUaEcxVHVhCk9TWWMvMTdHZmlLNjVvV1dDY0lqbzJUZ1hZTFZTNDhqeTVjRHdjajZKRit5NWZaZ3l6N3QyNkNxa25Odnd1RnIKbWRrT29RdkFaQndXMjFHL0hkTlJ5SlU9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0Kkind: Secretmetadata:annotations:kubectl.kubernetes.io/last-applied-configuration: |{"kind":"Secret","apiVersion":"v1","metadata":{"name":"example.org-tls","creationTimestamp":null},"data":{"tls.crt":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREVENDQWZXZ0F3SUJBZ0lVVDRnT2RqdVQzb2N3T2VFblVtTG9YcTVKemJnd0RRWUpLb1pJaHZjTkFRRUwKQlFBd0ZqRVVNQklHQTFVRUF3d0xaWGhoYlhCc1pTNXZjbWN3SGhjTk1qTXdPREU1TWpJMU1EUTNXaGNOTWpVdwpPREU0TWpJMU1EUTNXakFXTVJRd0VnWURWUVFEREF0bGVHRnRjR3hsTG05eVp6Q0NBU0l3RFFZSktvWklodmNOCkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLOGVnK0lBOTVqeTFyYzJ5cTN6MXVYR1djR3hlZ3pQU0tTSE9VY1QKV3FFZTZWOUl5alFEaFZlM3gxZEZFNEJJSFphbXE0Snl6aitBUUVGMm45eXRnWGUzUTMwbk5jVkwrL3Q2d2R1Vwo4MGVDaWJSU09EQjJuZTZtcDhEcGZhZzRsWU5oZDQwclZUWUVxMDRVY1NGamZxMDlDa3N0L0lwME1JOG5yR3NSClNnVlIxQnNNSnZvT0FOaTV5NlZELzFSS1ZVdldZckFEa2hNT0FIWFBvVVcwVmgrSWZhSE9HVks2QlpiWXRiSlEKallTdjhXeW5USUJpRjU4bWs1cG5Yem1FRTNISHJWVGk0dVZjbFlZQ0FyTXB6dmZpOFFsQUtycEd5Ly9CV2dUZgpMVFQwNlByL09aYU45SHVCTnpsaTAwbDE4OTdzUXR6UHc5Ri9Pb05CN3lnMzdYVUNBd0VBQWFOVE1GRXdIUVlEClZSME9CQllFRk02czRDeWplektzNUlPYnBoMEVONUJXZENFN01COEdBMVVkSXdRWU1CYUFGTTZzNEN5amV6S3MKNUlPYnBoMEVONUJXZENFN01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQgpBSlhnU2U4enFNd1hETXZOUkpmSGkrVURRK0MyemJ4Q21nMVlNaXNGbFJKcHZTNXo0RmpJdk1sZEZZbXdlbzZVCmhjdCswVTBoMFhlcnFncTA5MjNEUTByMUtaMWI5dlhLcHAzT2l3Y000L2czMzMrMWhGaDFndDc4eCtTTCtIaDQKeFNIZVd6T1plQkUyRUxyMmFsNUZYUTAwREthZ3BXaElOM1VtcUpoRnBQOS90WVFjYjNhU0JnNVBaQklES3UrdwpBMXZHSE9VUjRRQU04dzMyMCtmdGgvaUtIcGxDUlo4Uk4wSDhGYUZ6U1JMUFc3c2xjc21hVitaR0g4VWVqQmgrClptWG9CWGtRTW9zNWR1L3ZMU0xPZXgzWFBhYTZReXk0VGRkcFIrcVBpTzVaWnQ0bGdLUXFpcnJ5MDNTVGl4dkcKUWNDUnh5VjM1RWtkR0dXY0lhaU4yQjA9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K","tls.key":"LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ3ZIb1BpQVBlWTh0YTMKTnNxdDg5Ymx4bG5Cc1hvTXowaWtoemxIRTFxaEh1bGZTTW8wQTRWWHQ4ZFhSUk9BU0IyV3BxdUNjczQvZ0VCQgpkcC9jcllGM3QwTjlKelhGUy92N2VzSGJsdk5IZ29tMFVqZ3dkcDN1cHFmQTZYMm9PSldEWVhlTksxVTJCS3RPCkZIRWhZMzZ0UFFwTExmeUtkRENQSjZ4ckVVb0ZVZFFiRENiNkRnRFl1Y3VsUS85VVNsVkwxbUt3QTVJVERnQjEKejZGRnRGWWZpSDJoemhsU3VnV1cyTFd5VUkyRXIvRnNwMHlBWWhlZkpwT2FaMTg1aEJOeHg2MVU0dUxsWEpXRwpBZ0t6S2M3MzR2RUpRQ3E2UnN2L3dWb0UzeTAwOU9qNi96bVdqZlI3Z1RjNVl0TkpkZlBlN0VMY3o4UFJmenFEClFlOG9OKzExQWdNQkFBRUNnZ0VBR0xEMFJuTDlkamJUT0gwRXdkY3VOektxNkNrV2ZPVGpLTE9hUzErNnVSb0wKTExDdU5meERHbFdpeVRiSG82QkhiN3pyVk5iTUp0NzE4R1VCOEZNVWZLVTk0bEViZjBpUjdHam9HWWFrb2JJUgpxWGVvVFlrRUJxaS80VzdxbFVQNUxNK2ExREJHY1BuaWozMUpZRHhQbWF5UUhYNkw2NWVyV3h2c2J5SStiaFphClF2SndHMGdiS1NGWUpkMVE3eG4vMDNDZWl5WkNRTXR4a0EzM2ZkRzkwL1Nzd0tXRGtUMjdXM2FlQTJ0STBvSjcKZEVtaHI4ekhJcDRVeU5zOVhsNEtLWFdPeUdYanlLdHpCWkFubDFpemhtSjFWbmlOdEwwKzJYSnlPZkwzcXRxMgpUdERXSmlPNjh6dS9GWGlDejZXZmdCSU9DMmVSZ1pZN2E2cDFWbmhWSndLQmdRREh1V1NwTk45c0hHNjlabXB4CmVMSXlNM3NhUm1hM2lpOVJRWGRBbzErTjk0M1FyRUM3c3EzaGw1dFBEK042Y1FpTU0rWFAvMVhzd0xKdE9QZUMKemxXcHl4QW1JMlFiZ0R5TFRGdW5YaXpuSjE3NHIvUkk5Y0NubVFjYzE0UXF6RHgzTHRlUURCUit0aHprSzcvdwpMTWNrVGNhQUhVeUhrOURaZm9YYlNFR3FFd0tCZ1FEZ2RrMWF1M2M4bHBvQk5IWTJkQnQ3LzljR0dHUENGWkxjCnRXUG1yN3ZJSDN6aEZ1YU5vUjZkMVpuclpFTjc0eDhsd2djQ3RHMENVQ0d3K09VT25aZHNwTEE4TnAyZlZVeTEKSWJIWmhqWEZsV3hOKy9iVzFJMWJUamNLa0l0MThMSVloU2k2MThJcXcxMHlGOXRCMnhUUU5uRlNFQXVnRGZ0ZQpXUTQ0WkJCN1Z3S0JnRVhoM1pIQytVWG5zT3UrY1JJaERDQzZtS0U1N3VqYmhmRGxlaWQ0d285M0JmejB1SFcwCmNGalY1amJFdFhCN0ttVjhKelllL2w2bmtnYmJmdWNhOFNoRzcvQ1lRNGZIMStkWm9Wd3ZmSUNvNnZjVEFlT2gKY1haeStlVWlsNUV1QXg0a21ySkJOODZhUkFPbU56Ti9SM0t4Yi9vVnhsaE41UzZrc1l0bmZlcFhBb0dCQUtScwpKSGZ0VVFmUjdoZ3AzTnBBclExbE9KYWZjUnZ2LzdlcksvWUZEdEltdHF5UHdPMUlkQXY4TnhibVNFVE05N2tKCjYyYkEwZ1ZhdTROT24wUFlqdDZudU8weXVMM0psem9yNTRMSFBFWnpFWFlDdHl0aFlmYmJVWmhzajZ3aVYrTjgKVDN5bXBmWDdUQjV3dVUwQmRicWIxdURkSGhidGh3L3l2bWJ5YmR4YkFvR0FKdkxzdUhWbFJ4VUw2cGZvNUw1Vwo3WERGdC9ycThhRlZFZGpQTW9LMTZnRENOMTBEZEZaUGp6dFdMdjBTNVpYYTB4Y0ZPb2s2LzllQTFUaEcxVHVhCk9TWWMvMTdHZmlLNjVvV1dDY0lqbzJUZ1hZTFZTNDhqeTVjRHdjajZKRit5NWZaZ3l6N3QyNkNxa25Odnd1RnIKbWRrT29RdkFaQndXMjFHL0hkTlJ5SlU9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K"},"type":"kubernetes.io/tls"}creationTimestamp: nullname: example.org-tlstype: kubernetes.io/tls
Обновим существующий секрет TLS.
kubectl create secret tls example.org-tls --key example.key --cert example.pem -o yaml --dry-run=client --save-config | \kubectl apply -f -secret/example.org-tls configured
см. также:
- ☸️ Как копировать секреты Kubernetes между пространствами имен
- ☸️ Как скопировать секреты из одного кластера Kubernetes в другой
- 🔐 Wrongsecrets – примеры того, как нельзя использовать секреты
- ☸️ Kubernetes и RBAC: ограничение доступа пользователя в одном namespace
- Как раскодировать / расшифровать секрет Kubernetes | (itsecforu.ru)