19 KiB
Выполнение домашнего задания по теме "14.1. Создание и использование секретов"
Q/A
Задача 1
Работа с секретами через утилиту kubectl в установленном minikube.
Выполните приведённые ниже команды в консоли, получите вывод команд. Сохраните задачу 1 как справочный материал.
Как создать секрет?
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
Generating RSA private key, 4096 bit long modulus (2 primes)
....................................................................................................................++++
........................++++
secret/domain-cert created
Как просмотреть список секретов?
kubectl get secrets kubectl get secret
NAME TYPE DATA AGE
domain-cert kubernetes.io/tls 2 10s
Как просмотреть секрет?
kubectl describe secret domain-cert
Name: domain-cert
Namespace: default
Labels: <none>
Annotations: <none>
Type: kubernetes.io/tls
Data
====
tls.crt: 1944 bytes
tls.key: 3243 bytes
Как получить информацию в формате YAML и/или JSON?
kubectl get secret domain-cert -o yaml kubectl get secret domain-cert -o 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
{
"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"
}
Как выгрузить секрет и сохранить его в файл?
kubectl get secrets -o json > secrets/secrets.json kubectl get secret domain-cert -o yaml > secrets/domain-cert.yml
Файлы сохранены в директорию secrets.
Как удалить секрет?
kubectl delete secret domain-cert
secret "domain-cert" deleted
Как загрузить секрет из файла?
kubectl apply -f secrets/domain-cert.yml
secret/domain-cert created
Задача 2
Работа с секретами внутри модуля.
Выберите любимый образ контейнера, подключите секреты и проверьте их доступность как в виде переменных окружения, так и в виде примонтированного тома.
Для подключения будет использоваться секрет с сертификатами, созданный в предыдущем задании. Дополнительно будет создан новый секрет со значениями "имя пользователя" и "пароль".
Для начала нужно применить конфигурацию нового секрета в кластере:
kubectl apply -f config/test_secret.yml
Проверка, что секрет был успешно создан:
kubectl get secret
NAME TYPE DATA AGE
domain-cert kubernetes.io/tls 2 12m
test-secret Opaque 2 40s
Затем необходимо применить конфигурацию пода с подключёнными секретами config/test_pod.yml:
kubectl apply -f config/test_pod.yml
kubectl get po
NAME READY STATUS RESTARTS AGE
test-pod 1/1 Running 0 14s
После успешного старта пода нужно подключится к контейнеру и проверить, что переменные окружения были успешно созданы и существуют файлы сертификатов по указанному в конфигурации пути.
kubectl exec -it pods/test-pod -- sh
printenv | grep SOME_
ls -la /etc/nginx/ssl
# 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