Выполнение [домашнего задания](https://github.com/netology-code/devkub-homeworks/blob/main/13-kubernetes-config-05-qbec.md) по теме "14.1. Создание и использование секретов" ## Q/A ### Задача 1 > Работа с секретами через утилиту kubectl в установленном minikube. > > Выполните приведённые ниже команды в консоли, получите вывод команд. Сохраните задачу 1 как справочный материал. > > #### Как создать секрет? > > ```shell > openssl genrsa -out certs/cert.key 4096 > openssl req -x509 -new -key certs/cert.key -days 3650 -out certs/cert.crt \ > -subj '/C=RU/ST=Moscow/L=Moscow/CN=server.local' > kubectl create secret tls domain-cert --cert=certs/cert.crt --key=certs/cert.key > ``` ```text Generating RSA private key, 4096 bit long modulus (2 primes) ....................................................................................................................++++ ........................++++ secret/domain-cert created ``` > #### Как просмотреть список секретов? > > ```shell > kubectl get secrets > kubectl get secret > ``` ```text NAME TYPE DATA AGE domain-cert kubernetes.io/tls 2 10s ``` > #### Как просмотреть секрет? > > ```shell > kubectl describe secret domain-cert > ``` ```text Name: domain-cert Namespace: default Labels: Annotations: Type: kubernetes.io/tls Data ==== tls.crt: 1944 bytes tls.key: 3243 bytes ``` > #### Как получить информацию в формате YAML и/или JSON? > > ```shell > kubectl get secret domain-cert -o yaml > kubectl get secret domain-cert -o json > ``` ```yaml apiVersion: v1 data: tls.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZiVENDQTFXZ0F3SUJBZ0lVQytTaXBYUHR6R0tFb0d1MGNucCtWcmFiRUpZd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1JqRUxNQWtHQTFVRUJoTUNVbFV4RHpBTkJnTlZCQWdNQmsxdmMyTnZkekVQTUEwR0ExVUVCd3dHVFc5egpZMjkzTVJVd0V3WURWUVFEREF4elpYSjJaWEl1Ykc5allXd3dIaGNOTWpJeE1qSXpNREkxTURNMFdoY05Nekl4Ck1qSXdNREkxTURNMFdqQkdNUXN3Q1FZRFZRUUdFd0pTVlRFUE1BMEdBMVVFQ0F3R1RXOXpZMjkzTVE4d0RRWUQKVlFRSERBWk5iM05qYjNjeEZUQVRCZ05WQkFNTURITmxjblpsY2k1c2IyTmhiRENDQWlJd0RRWUpLb1pJaHZjTgpBUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBSjJIUXJ4NUFoanU5azBqWkwrWUhydXp3TlhSekwvZFRkUW1pR2FjClFXWGozU3pJTTFpUEZwRnlOMTBxaERDS1RpeTIvRXdWWWZTYXhGUmh1c3ZqSHpUczBzdU51c1RhT09FR2g5ZGsKaXQ3Y010dWMwU29aa3QyTTE4VUQ1L0Zzem0xbTVQNlhBTERHZlNoTWM3ZFRiV3o1dE91S3Uwbi9ia3JuaFl1SgpSM1FIa2RxelZQMTk4bmxGbitGeko3SDJFbkt3d2kwM0FPN0xNK0lVZHI2K3FNZytKUDZnK1pCZG82S1NsMGw3ClVkL1RkZExHMUZRNlF4UUFoTHJkdVVXaUFKaUJ6Vk14dHlKL3FTVWlKd0E2eGwyN3pxVjFHZ0NEVlh2cmQzYVQKQVFjdVYvallSdUtmSnVxK1N5V3B0RzVXcXJWcCsyTm8zWG5RMHpnd0JKQmlWa0s4WVZ3VGVLN2s5QkdVdWJHbApuaVArRHhCLzlQWS91TFhzVEcrSXRyblVDaTFyWlRoNFVzNitwVlFqNG5oNkZKUk5WTUxIbnRPdXpwbUJrZ3ZPClVIblp5STlmOHhRVUFtUTN6Y3Jwc0hSZlRaZmFMS2QycUFxS2tiYTcyM3Uyb041cldUcU84MjVZTUF5Qk80VWUKOVdTcmdteWZrbDhIWUQ4NHMyam8wNGQzVVNqM1dCNDRLR3lscGxlVHZWc3hsY3hGa2UwRSsvSDFxdmN0SjdvaApiZW1LRGRTNkYwTUNHQWhVZmVWdkZEN24rdTFsbnU5VlNxeEpGMHk0TlF6Tmd3MEovbTA3MDZ5UytIY1RYQWw2CkY3emtaODVNcGpydGQ0ODRoMkdITGJKNHlyYUpFdlhFOFNLUDlTVEQ4WW9BeWdJQmYzTWZmU0ZBTHllSzdITCsKOERKQkFnTUJBQUdqVXpCUk1CMEdBMVVkRGdRV0JCUXFTNU5NanZISEVFbW9qWklCMzBsQ3hleTZLakFmQmdOVgpIU01FR0RBV2dCUXFTNU5NanZISEVFbW9qWklCMzBsQ3hleTZLakFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHCkNTcUdTSWIzRFFFQkN3VUFBNElDQVFCWFVIUHZxVVlWVHNYVmFLWkhzd1djUjZ2WVlhZFc5TWU1RndXMjkydUkKTkdGRys4UHhPN2NEalFwTnAzd09ZcTMxc1RQUUhvVGV3dDM2WG9XQ1VYdHUrSEpDY081YndDc1EvMHVhZGVSdwpST0VuQXE3a2JQNDFWZEp3bDZDUjk2TitMZVNyTnYzSzBSOUlLR2xSNXNVbFRBUytVZkpLeXN6Vi9ydFE4V1pvCjRydWxrWWZTRVR6OFd0R1BxVmpCRTNhTzU0bFd0Q3lCcUNyK3ZUeWdDQkdjM3V6ZTRZVk9weTJNV1NmU29QQmcKVWRJM09FakpETVU0RFY3bW5QSjkwaXRnNlJvS0JjcEliSjc5UVNLUlRWVHoxTkFBNTVMQjVkY3pYOHlOQ2R3ZgpMcVpDSHBZV1VnN2drQWdlaUsyR3VERmxXcHFvMmVoeGQ1eXZja3pIWlpqb05ZdnFiUDZFKzg4d3Z0aEVnR05CCmNzeERPM29GUGV5RlVTaStKMmZDVGRTUVBHS0dCMUlRR1BFN1lvaHdlQUlZazh1bStBR0VRMVBlSnhnWVVpdnMKQkpOMEZIWW1PN0RaeEIzYmxvejBPZnVGenlzckdPbnJvdHZWUDVwNXVNTFpMOVdjL0RPSWlIcjdDYURuVnA4aworY1ZYRUJOaU4zTmI5VTczSTJHNStWeGJIcE51VERxcGxkL1ZIcjhjbTJLdlVGSGVlUElTQ3JQZHBJalBVNldVCllIQVFaenBZbUozLzczQTQ3a3E5NTBjQU1uYVVJY0lzemxjN002TXpzbzJYaU8rRE5VMkp3b1orS3p0alJXS2cKWWxuY1lDK0N0aVpadllWbGFqc01mblg3bEJ6STNYRnJScjFlejk5ZjFXNWdlRHJPUGh3ZnhXS1pmaUdJUW52LwpHZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K tls.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBbllkQ3ZIa0NHTzcyVFNOa3Y1Z2V1N1BBMWRITXY5MU4xQ2FJWnB4QlplUGRMTWd6CldJOFdrWEkzWFNxRU1JcE9MTGI4VEJWaDlKckVWR0c2eStNZk5PelN5NDI2eE5vNDRRYUgxMlNLM3R3eTI1elIKS2htUzNZelh4UVBuOFd6T2JXYmsvcGNBc01aOUtFeHp0MU50YlBtMDY0cTdTZjl1U3VlRmk0bEhkQWVSMnJOVQovWDN5ZVVXZjRYTW5zZllTY3JEQ0xUY0E3c3N6NGhSMnZyNm95RDRrL3FENWtGMmpvcEtYU1h0UjM5TjEwc2JVClZEcERGQUNFdXQyNVJhSUFtSUhOVXpHM0luK3BKU0luQURyR1hidk9wWFVhQUlOVmUrdDNkcE1CQnk1WCtOaEcKNHA4bTZyNUxKYW0wYmxhcXRXbjdZMmpkZWREVE9EQUVrR0pXUXJ4aFhCTjRydVQwRVpTNXNhV2VJLzRQRUgvMAo5ais0dGV4TWI0aTJ1ZFFLTFd0bE9IaFN6cjZsVkNQaWVIb1VsRTFVd3NlZTA2N09tWUdTQzg1UWVkbklqMS96CkZCUUNaRGZOeXVtd2RGOU5sOW9zcDNhb0NvcVJ0cnZiZTdhZzNtdFpPbzd6Ymxnd0RJRTdoUjcxWkt1Q2JKK1MKWHdkZ1B6aXphT2pUaDNkUktQZFlIamdvYktXbVY1TzlXekdWekVXUjdRVDc4ZldxOXkwbnVpRnQ2WW9OMUxvWApRd0lZQ0ZSOTVXOFVQdWY2N1dXZTcxVktyRWtYVExnMURNMkREUW4rYlR2VHJKTDRkeE5jQ1hvWHZPUm56a3ltCk91MTNqemlIWVljdHNuakt0b2tTOWNUeElvLzFKTVB4aWdES0FnRi9jeDk5SVVBdko0cnNjdjd3TWtFQ0F3RUEKQVFLQ0FnRUFpazNPSHZGVEVSY0VjaGRJQmhzRnFLQ2FCbUJybG13elA3Y1EvSjNsb1JKZEJrdERJVmFIWnUxVApoRjJtcjROT1BWM3V4dEhqTGNHUDY5SGVFZEgzZlIwTHVhRld3Q3dqMGhWTXdLUktkSDM1dk96Q2kyYm1sZE5wClFWVTdsN0NDMEhTTlNxVEMrM0ZaUXo5VVBUbG5FazF1TlhxWkVzL0xRc0pnY25EMXBmNWJaUnNiM0c5dXFtQ2gKald2d0J3UFhrSkIxK3dLV3RCRCtIVmtBSkZuNmo4eFg2S0xtV1lTTS9WZ2NzV3d2SndkZUk4OWpiZ3UxQnVPcApwUEswRGxtOGtpa3NYd1dBRnk3a0QzRWJzc3puaWpZd3FQM1Y5V3RaYXpJQnNiNUJJYy9qZHR4VDUvWDVVaEgrCm9qT0w4Vy92OHRUNDNIK2VLNnhYTmJhYTJ6VXJLNDJpQ2toUlBTZjQxNmdZYUZvRDk1dkxScjcrbUNVeWtRaC8KOFIyeTc1UFMrbHNVZ2JKZExocUwxZUZRSUV4ZTBvbDdrVFZYN01JbXo4TGNhVjNJUjJXQklpS2FXTFFXcGRuQgpGUzhqdVV3MGZYZU56Kzk3SnlRRmlPVWhxRlVOMEJMd200ZzF5WDhoYVp6NXBhemVtdTRvMHE5YjMwakN0NUNQCnpZOTdXRXdFbTYyaVZNOWZ6ZlZMUW1pT2FSWW9pVlpPZTJGL0ZWSWMxZzNqalZ1aGlEMWZTcm11UXl3Y2Y2aGsKVEdQVnhDWTU5ZDQ0WjJ6dmU3M2FGaFJLUjI5M2dWZG1RMUR2d1FBWmFDbUNTQWFuUER2ZkRQS21seU45VFNWYQpzR3hzR0VRMzFTeWpoSVIzN2xOOWttN2lLNlg4UTZqNWw0Y3c4NXJuSElpbzRydVErWDBDZ2dFQkFOQmIrVWZrClRGTFdxbVgyZ3FjSy9zc3NpYWsxc1IwREo2eXVzb29XSXU4WU40QnNUWlAwOFA0c2FjWVdjbVQrS3JTUS9YWGQKZXdZYzhna1hjamxMYUhQUjZXQ045S1p2czNpbVNKTEk2bjBIM1lGU0ZEWU8zcmpBUTJtQWRSalFlZXJjTGx4SQprVTJ6SUQ1dUo1K3kzYlpjTk1KTm5JN2U5YzdGQXRFd1JEZmNnWWdubHJ5ajlMSlROby90eTI3cHcxdGpoK1NUCmNpWm5vM1NtMHRxNWhPeEFqaDBneHh4dmxFR2F0TGE1VG03cWZsVk9VSStNZFpYUzVnTjZnb2FWZ2pGYTh4cWIKclNodVBUV3RMTE9wMHdzVHJOZGZqbzlqKzlWUjRjUzRsdTB1WEdFZlE1VW9kUDFleXl4YW9iT0x0L2NOS20vcQpRaEg0MFFQcnF0cHNQYXNDZ2dFQkFNR0wrQVN5RVZVcWRvWU0xbDJJSGhYcjN6cWlOa1daeTkxVWVLVFRSd1l0CmlkajhLWGN2VnQwUlBDTUR3cFBiV0l6NE5KajhWQTNDS2xidFV5b1phS0VoWktDYWhTbzVmVk4xVnFnYlBZVFYKQngzNDhXWk45Ym5hSFFTNVoxc1NWQmxXRVFXSXBYTDZFTUZ5UDRESHZZRmNjTmJqOWdDaXgxQ1ZNQzlpSU1ZeAp3T0REWE4yR2NtdDBsb055OE14bmJCUUpCZ1JmTzRPaXNzcWdidm1DQWNVYWRIVVZ5TkVnYXNNZVpXMi9JNHliCjNaTlZIR2tnRm5BY3hkcWNsS3ZpUzdhUWN3VGxKVlA5WkNzOUlGRnJlZEJ6aUp6MXpDZ0dzbkcxb3NCd2pyZ2kKRFZFcFVRczVJc1FWcWJUQlppSFBvSDdwTGxJem0zeThsdDlBRFMva3E4TUNnZ0VBWXBYeUdDc1VWZW5PVEZwYwpMVytOYVZMVWUrUzB2ZFo5VWo2Q3FjV1psK21zY1M1TmNxRmwyYzNuNmxzNm0wQ0xzazRjTDBXeGJRNExFM1F0CmpxQjRkcnl1b1FucDVVcGE3ODQxN29YME5WNmdWdzBnRlFmcUtCNklod1hKNGdqYWR0N2hiTGJGVWE5Y3BVMTMKb0IrQXVrVmNqVWN0dVlnVFpGZGhZdHRrbTgzUTJEeHJIU3l5bmlHellseVFjaFZYWXdsd0JoNGgxN3dYNGgwQgpEWTdVTHZqSWhVMjZDR0ZmRTcrQW5DaUh6UUZVNzBZVDVpZitodnAzN05OdHFRSmF6TUdNMzEwampFckUyWDNyCjljSjM0ZmpZUWp1cmQzdEdjQVBEUUZKYXp6U3RieUxjMWxtREtWTk43Tm1oUXhQcjRwQXZNUzcxUGcydDBCNFYKQkM1TTZ3S0NBUUJXY29ZYzBzd2JGaFJLVzRHRDFVQmEyamVpb01GTTVSekJodkU3N1lKVHFCTmg3MzgxMU5jZgpkb3M5dUhnNFFraVM3bW5QeXlSZjRORzRjZGdyZlozV0dtd3ZyOVM2djJMUzNCNFFoOW82Y2t2emZ6V1RWRTdrCjdCNzU5VFhNMzZyZ2hpaWtLQng5OW1OMWcrb0pReTNKa2RoMG91MUY2MjdLOTFmR1VqWUJVRWV1SEpSbC9aOHQKajYyS21OUWsrQ3kxNWpIaDBnZHJERWgvYUprb3FJRFI0TGNUZE45MVNOMW11VFRraC9NQTRyMWRDUzdmWlkyZwpGYm5wb3Zaa3IzYlIzRU1EZExYdmhjWXY2ZVY5ZUZ1NFYySTFlVFB1ek03M0t3Rytvb2VjaHRrYjN6QnJxdUYwClk1aWhPNkM2aVZwT1ZTaHpYc21jTlQvT0IzWGNabTZ4QW9JQkFEUVluSnBxaWN3b21mNml5Qnp6OVhiMVZTbmsKTmx4SWZ3QnJ4Ykx5M0Qra2FPWU5GVy8rVFE4QmlKZk1CaEFFRGRlS3hVS255MHJYaVVkaGtVYnVtQjE2RnlUdwo5cE8vQkRPVVk1bHc5VisvcDhjb1JvT1YvdFV4Skt5QnZyLzJhT1Z0T1B4Y2NqV3Urejc0dFZhUmhMMjVkaGlnCktQSzltTTdDK3Zwbk9SdnB4OG5ISEp1dHBUcU55ZjViVzFGNnR1OENwbWtkV2pRQjlkZzJPd0hwbnBpU21qTUoKbmF6aWRVUUVPbDZWQWtVRU1EbnZmTkp4dDFZdktDQjFqZEQ3S0syZjdJYnhpb3dPa0RKUm81aHQxK3Vma1h0eQpESGFwZHdUWnBselYweDNFdTg4TExSTUJQcUU1b3B5eTVMMVV2MUM1cHZxTFB1YzIxeUFrM3d0NmJQMD0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K kind: Secret metadata: creationTimestamp: "2022-12-23T03:02:49Z" name: domain-cert namespace: default resourceVersion: "1438" uid: f842ef20-1302-4255-bd4d-1cf2f5b92a78 type: kubernetes.io/tls ``` ```json { "apiVersion": "v1", "data": { "tls.crt": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZiVENDQTFXZ0F3SUJBZ0lVQytTaXBYUHR6R0tFb0d1MGNucCtWcmFiRUpZd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1JqRUxNQWtHQTFVRUJoTUNVbFV4RHpBTkJnTlZCQWdNQmsxdmMyTnZkekVQTUEwR0ExVUVCd3dHVFc5egpZMjkzTVJVd0V3WURWUVFEREF4elpYSjJaWEl1Ykc5allXd3dIaGNOTWpJeE1qSXpNREkxTURNMFdoY05Nekl4Ck1qSXdNREkxTURNMFdqQkdNUXN3Q1FZRFZRUUdFd0pTVlRFUE1BMEdBMVVFQ0F3R1RXOXpZMjkzTVE4d0RRWUQKVlFRSERBWk5iM05qYjNjeEZUQVRCZ05WQkFNTURITmxjblpsY2k1c2IyTmhiRENDQWlJd0RRWUpLb1pJaHZjTgpBUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBSjJIUXJ4NUFoanU5azBqWkwrWUhydXp3TlhSekwvZFRkUW1pR2FjClFXWGozU3pJTTFpUEZwRnlOMTBxaERDS1RpeTIvRXdWWWZTYXhGUmh1c3ZqSHpUczBzdU51c1RhT09FR2g5ZGsKaXQ3Y010dWMwU29aa3QyTTE4VUQ1L0Zzem0xbTVQNlhBTERHZlNoTWM3ZFRiV3o1dE91S3Uwbi9ia3JuaFl1SgpSM1FIa2RxelZQMTk4bmxGbitGeko3SDJFbkt3d2kwM0FPN0xNK0lVZHI2K3FNZytKUDZnK1pCZG82S1NsMGw3ClVkL1RkZExHMUZRNlF4UUFoTHJkdVVXaUFKaUJ6Vk14dHlKL3FTVWlKd0E2eGwyN3pxVjFHZ0NEVlh2cmQzYVQKQVFjdVYvallSdUtmSnVxK1N5V3B0RzVXcXJWcCsyTm8zWG5RMHpnd0JKQmlWa0s4WVZ3VGVLN2s5QkdVdWJHbApuaVArRHhCLzlQWS91TFhzVEcrSXRyblVDaTFyWlRoNFVzNitwVlFqNG5oNkZKUk5WTUxIbnRPdXpwbUJrZ3ZPClVIblp5STlmOHhRVUFtUTN6Y3Jwc0hSZlRaZmFMS2QycUFxS2tiYTcyM3Uyb041cldUcU84MjVZTUF5Qk80VWUKOVdTcmdteWZrbDhIWUQ4NHMyam8wNGQzVVNqM1dCNDRLR3lscGxlVHZWc3hsY3hGa2UwRSsvSDFxdmN0SjdvaApiZW1LRGRTNkYwTUNHQWhVZmVWdkZEN24rdTFsbnU5VlNxeEpGMHk0TlF6Tmd3MEovbTA3MDZ5UytIY1RYQWw2CkY3emtaODVNcGpydGQ0ODRoMkdITGJKNHlyYUpFdlhFOFNLUDlTVEQ4WW9BeWdJQmYzTWZmU0ZBTHllSzdITCsKOERKQkFnTUJBQUdqVXpCUk1CMEdBMVVkRGdRV0JCUXFTNU5NanZISEVFbW9qWklCMzBsQ3hleTZLakFmQmdOVgpIU01FR0RBV2dCUXFTNU5NanZISEVFbW9qWklCMzBsQ3hleTZLakFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQTBHCkNTcUdTSWIzRFFFQkN3VUFBNElDQVFCWFVIUHZxVVlWVHNYVmFLWkhzd1djUjZ2WVlhZFc5TWU1RndXMjkydUkKTkdGRys4UHhPN2NEalFwTnAzd09ZcTMxc1RQUUhvVGV3dDM2WG9XQ1VYdHUrSEpDY081YndDc1EvMHVhZGVSdwpST0VuQXE3a2JQNDFWZEp3bDZDUjk2TitMZVNyTnYzSzBSOUlLR2xSNXNVbFRBUytVZkpLeXN6Vi9ydFE4V1pvCjRydWxrWWZTRVR6OFd0R1BxVmpCRTNhTzU0bFd0Q3lCcUNyK3ZUeWdDQkdjM3V6ZTRZVk9weTJNV1NmU29QQmcKVWRJM09FakpETVU0RFY3bW5QSjkwaXRnNlJvS0JjcEliSjc5UVNLUlRWVHoxTkFBNTVMQjVkY3pYOHlOQ2R3ZgpMcVpDSHBZV1VnN2drQWdlaUsyR3VERmxXcHFvMmVoeGQ1eXZja3pIWlpqb05ZdnFiUDZFKzg4d3Z0aEVnR05CCmNzeERPM29GUGV5RlVTaStKMmZDVGRTUVBHS0dCMUlRR1BFN1lvaHdlQUlZazh1bStBR0VRMVBlSnhnWVVpdnMKQkpOMEZIWW1PN0RaeEIzYmxvejBPZnVGenlzckdPbnJvdHZWUDVwNXVNTFpMOVdjL0RPSWlIcjdDYURuVnA4aworY1ZYRUJOaU4zTmI5VTczSTJHNStWeGJIcE51VERxcGxkL1ZIcjhjbTJLdlVGSGVlUElTQ3JQZHBJalBVNldVCllIQVFaenBZbUozLzczQTQ3a3E5NTBjQU1uYVVJY0lzemxjN002TXpzbzJYaU8rRE5VMkp3b1orS3p0alJXS2cKWWxuY1lDK0N0aVpadllWbGFqc01mblg3bEJ6STNYRnJScjFlejk5ZjFXNWdlRHJPUGh3ZnhXS1pmaUdJUW52LwpHZz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K", "tls.key": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS0FJQkFBS0NBZ0VBbllkQ3ZIa0NHTzcyVFNOa3Y1Z2V1N1BBMWRITXY5MU4xQ2FJWnB4QlplUGRMTWd6CldJOFdrWEkzWFNxRU1JcE9MTGI4VEJWaDlKckVWR0c2eStNZk5PelN5NDI2eE5vNDRRYUgxMlNLM3R3eTI1elIKS2htUzNZelh4UVBuOFd6T2JXYmsvcGNBc01aOUtFeHp0MU50YlBtMDY0cTdTZjl1U3VlRmk0bEhkQWVSMnJOVQovWDN5ZVVXZjRYTW5zZllTY3JEQ0xUY0E3c3N6NGhSMnZyNm95RDRrL3FENWtGMmpvcEtYU1h0UjM5TjEwc2JVClZEcERGQUNFdXQyNVJhSUFtSUhOVXpHM0luK3BKU0luQURyR1hidk9wWFVhQUlOVmUrdDNkcE1CQnk1WCtOaEcKNHA4bTZyNUxKYW0wYmxhcXRXbjdZMmpkZWREVE9EQUVrR0pXUXJ4aFhCTjRydVQwRVpTNXNhV2VJLzRQRUgvMAo5ais0dGV4TWI0aTJ1ZFFLTFd0bE9IaFN6cjZsVkNQaWVIb1VsRTFVd3NlZTA2N09tWUdTQzg1UWVkbklqMS96CkZCUUNaRGZOeXVtd2RGOU5sOW9zcDNhb0NvcVJ0cnZiZTdhZzNtdFpPbzd6Ymxnd0RJRTdoUjcxWkt1Q2JKK1MKWHdkZ1B6aXphT2pUaDNkUktQZFlIamdvYktXbVY1TzlXekdWekVXUjdRVDc4ZldxOXkwbnVpRnQ2WW9OMUxvWApRd0lZQ0ZSOTVXOFVQdWY2N1dXZTcxVktyRWtYVExnMURNMkREUW4rYlR2VHJKTDRkeE5jQ1hvWHZPUm56a3ltCk91MTNqemlIWVljdHNuakt0b2tTOWNUeElvLzFKTVB4aWdES0FnRi9jeDk5SVVBdko0cnNjdjd3TWtFQ0F3RUEKQVFLQ0FnRUFpazNPSHZGVEVSY0VjaGRJQmhzRnFLQ2FCbUJybG13elA3Y1EvSjNsb1JKZEJrdERJVmFIWnUxVApoRjJtcjROT1BWM3V4dEhqTGNHUDY5SGVFZEgzZlIwTHVhRld3Q3dqMGhWTXdLUktkSDM1dk96Q2kyYm1sZE5wClFWVTdsN0NDMEhTTlNxVEMrM0ZaUXo5VVBUbG5FazF1TlhxWkVzL0xRc0pnY25EMXBmNWJaUnNiM0c5dXFtQ2gKald2d0J3UFhrSkIxK3dLV3RCRCtIVmtBSkZuNmo4eFg2S0xtV1lTTS9WZ2NzV3d2SndkZUk4OWpiZ3UxQnVPcApwUEswRGxtOGtpa3NYd1dBRnk3a0QzRWJzc3puaWpZd3FQM1Y5V3RaYXpJQnNiNUJJYy9qZHR4VDUvWDVVaEgrCm9qT0w4Vy92OHRUNDNIK2VLNnhYTmJhYTJ6VXJLNDJpQ2toUlBTZjQxNmdZYUZvRDk1dkxScjcrbUNVeWtRaC8KOFIyeTc1UFMrbHNVZ2JKZExocUwxZUZRSUV4ZTBvbDdrVFZYN01JbXo4TGNhVjNJUjJXQklpS2FXTFFXcGRuQgpGUzhqdVV3MGZYZU56Kzk3SnlRRmlPVWhxRlVOMEJMd200ZzF5WDhoYVp6NXBhemVtdTRvMHE5YjMwakN0NUNQCnpZOTdXRXdFbTYyaVZNOWZ6ZlZMUW1pT2FSWW9pVlpPZTJGL0ZWSWMxZzNqalZ1aGlEMWZTcm11UXl3Y2Y2aGsKVEdQVnhDWTU5ZDQ0WjJ6dmU3M2FGaFJLUjI5M2dWZG1RMUR2d1FBWmFDbUNTQWFuUER2ZkRQS21seU45VFNWYQpzR3hzR0VRMzFTeWpoSVIzN2xOOWttN2lLNlg4UTZqNWw0Y3c4NXJuSElpbzRydVErWDBDZ2dFQkFOQmIrVWZrClRGTFdxbVgyZ3FjSy9zc3NpYWsxc1IwREo2eXVzb29XSXU4WU40QnNUWlAwOFA0c2FjWVdjbVQrS3JTUS9YWGQKZXdZYzhna1hjamxMYUhQUjZXQ045S1p2czNpbVNKTEk2bjBIM1lGU0ZEWU8zcmpBUTJtQWRSalFlZXJjTGx4SQprVTJ6SUQ1dUo1K3kzYlpjTk1KTm5JN2U5YzdGQXRFd1JEZmNnWWdubHJ5ajlMSlROby90eTI3cHcxdGpoK1NUCmNpWm5vM1NtMHRxNWhPeEFqaDBneHh4dmxFR2F0TGE1VG03cWZsVk9VSStNZFpYUzVnTjZnb2FWZ2pGYTh4cWIKclNodVBUV3RMTE9wMHdzVHJOZGZqbzlqKzlWUjRjUzRsdTB1WEdFZlE1VW9kUDFleXl4YW9iT0x0L2NOS20vcQpRaEg0MFFQcnF0cHNQYXNDZ2dFQkFNR0wrQVN5RVZVcWRvWU0xbDJJSGhYcjN6cWlOa1daeTkxVWVLVFRSd1l0CmlkajhLWGN2VnQwUlBDTUR3cFBiV0l6NE5KajhWQTNDS2xidFV5b1phS0VoWktDYWhTbzVmVk4xVnFnYlBZVFYKQngzNDhXWk45Ym5hSFFTNVoxc1NWQmxXRVFXSXBYTDZFTUZ5UDRESHZZRmNjTmJqOWdDaXgxQ1ZNQzlpSU1ZeAp3T0REWE4yR2NtdDBsb055OE14bmJCUUpCZ1JmTzRPaXNzcWdidm1DQWNVYWRIVVZ5TkVnYXNNZVpXMi9JNHliCjNaTlZIR2tnRm5BY3hkcWNsS3ZpUzdhUWN3VGxKVlA5WkNzOUlGRnJlZEJ6aUp6MXpDZ0dzbkcxb3NCd2pyZ2kKRFZFcFVRczVJc1FWcWJUQlppSFBvSDdwTGxJem0zeThsdDlBRFMva3E4TUNnZ0VBWXBYeUdDc1VWZW5PVEZwYwpMVytOYVZMVWUrUzB2ZFo5VWo2Q3FjV1psK21zY1M1TmNxRmwyYzNuNmxzNm0wQ0xzazRjTDBXeGJRNExFM1F0CmpxQjRkcnl1b1FucDVVcGE3ODQxN29YME5WNmdWdzBnRlFmcUtCNklod1hKNGdqYWR0N2hiTGJGVWE5Y3BVMTMKb0IrQXVrVmNqVWN0dVlnVFpGZGhZdHRrbTgzUTJEeHJIU3l5bmlHellseVFjaFZYWXdsd0JoNGgxN3dYNGgwQgpEWTdVTHZqSWhVMjZDR0ZmRTcrQW5DaUh6UUZVNzBZVDVpZitodnAzN05OdHFRSmF6TUdNMzEwampFckUyWDNyCjljSjM0ZmpZUWp1cmQzdEdjQVBEUUZKYXp6U3RieUxjMWxtREtWTk43Tm1oUXhQcjRwQXZNUzcxUGcydDBCNFYKQkM1TTZ3S0NBUUJXY29ZYzBzd2JGaFJLVzRHRDFVQmEyamVpb01GTTVSekJodkU3N1lKVHFCTmg3MzgxMU5jZgpkb3M5dUhnNFFraVM3bW5QeXlSZjRORzRjZGdyZlozV0dtd3ZyOVM2djJMUzNCNFFoOW82Y2t2emZ6V1RWRTdrCjdCNzU5VFhNMzZyZ2hpaWtLQng5OW1OMWcrb0pReTNKa2RoMG91MUY2MjdLOTFmR1VqWUJVRWV1SEpSbC9aOHQKajYyS21OUWsrQ3kxNWpIaDBnZHJERWgvYUprb3FJRFI0TGNUZE45MVNOMW11VFRraC9NQTRyMWRDUzdmWlkyZwpGYm5wb3Zaa3IzYlIzRU1EZExYdmhjWXY2ZVY5ZUZ1NFYySTFlVFB1ek03M0t3Rytvb2VjaHRrYjN6QnJxdUYwClk1aWhPNkM2aVZwT1ZTaHpYc21jTlQvT0IzWGNabTZ4QW9JQkFEUVluSnBxaWN3b21mNml5Qnp6OVhiMVZTbmsKTmx4SWZ3QnJ4Ykx5M0Qra2FPWU5GVy8rVFE4QmlKZk1CaEFFRGRlS3hVS255MHJYaVVkaGtVYnVtQjE2RnlUdwo5cE8vQkRPVVk1bHc5VisvcDhjb1JvT1YvdFV4Skt5QnZyLzJhT1Z0T1B4Y2NqV3Urejc0dFZhUmhMMjVkaGlnCktQSzltTTdDK3Zwbk9SdnB4OG5ISEp1dHBUcU55ZjViVzFGNnR1OENwbWtkV2pRQjlkZzJPd0hwbnBpU21qTUoKbmF6aWRVUUVPbDZWQWtVRU1EbnZmTkp4dDFZdktDQjFqZEQ3S0syZjdJYnhpb3dPa0RKUm81aHQxK3Vma1h0eQpESGFwZHdUWnBselYweDNFdTg4TExSTUJQcUU1b3B5eTVMMVV2MUM1cHZxTFB1YzIxeUFrM3d0NmJQMD0KLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K" }, "kind": "Secret", "metadata": { "creationTimestamp": "2022-12-23T03:02:49Z", "name": "domain-cert", "namespace": "default", "resourceVersion": "1438", "uid": "f842ef20-1302-4255-bd4d-1cf2f5b92a78" }, "type": "kubernetes.io/tls" } ``` > #### Как выгрузить секрет и сохранить его в файл? > > ```shell > kubectl get secrets -o json > secrets/secrets.json > kubectl get secret domain-cert -o yaml > secrets/domain-cert.yml > ``` Файлы сохранены в директорию [secrets](./secrets). > #### Как удалить секрет? > > ``` > kubectl delete secret domain-cert > ``` ```text secret "domain-cert" deleted ``` > #### Как загрузить секрет из файла? > > ``` > kubectl apply -f secrets/domain-cert.yml > ``` ```text secret/domain-cert created ``` ### Задача 2 > Работа с секретами внутри модуля. > > Выберите любимый образ контейнера, подключите секреты и проверьте их доступность как в виде переменных окружения, так и в виде примонтированного тома. Для подключения будет использоваться секрет с сертификатами, созданный в [предыдущем задании](#задача-1). Дополнительно будет [создан новый секрет](./config/test_secret.yml) со значениями "имя пользователя" и "пароль". Для начала нужно применить конфигурацию нового секрета в кластере: ```shell kubectl apply -f config/test_secret.yml ``` Проверка, что секрет был успешно создан: ```shell kubectl get secret ``` ```text NAME TYPE DATA AGE domain-cert kubernetes.io/tls 2 12m test-secret Opaque 2 40s ``` Затем необходимо применить конфигурацию пода с подключёнными секретами [config/test_pod.yml](./config/test_pod.yml): ```shell kubectl apply -f config/test_pod.yml ``` ```shell kubectl get po ``` ```text NAME READY STATUS RESTARTS AGE test-pod 1/1 Running 0 14s ``` После успешного старта пода нужно подключится к контейнеру и проверить, что переменные окружения были успешно созданы и существуют файлы сертификатов по указанному в конфигурации пути. ```shell kubectl exec -it pods/test-pod -- sh printenv | grep SOME_ ls -la /etc/nginx/ssl ``` ```text # printenv SOME_PASSWORD=pwd SOME_USER=user # ls total 4 drwxrwxrwt 3 root root 120 Dec 23 03:19 . drwxr-xr-x 1 root root 4096 Dec 23 03:19 .. drwxr-xr-x 2 root root 80 Dec 23 03:19 ..2022_12_23_03_19_34.2837050582 lrwxrwxrwx 1 root root 32 Dec 23 03:19 ..data -> ..2022_12_23_03_19_34.2837050582 lrwxrwxrwx 1 root root 14 Dec 23 03:19 tls.crt -> ..data/tls.crt lrwxrwxrwx 1 root root 14 Dec 23 03:19 tls.key -> ..data/tls.key ```