Monday, December 13, 2021

Kubectl: Load Balancer : Internal LB : Does not change , even if you restart POD

 em-ui                             LoadBalancer   172.20.221.225   internal-a54ec7ad6f02c49899f5bbd68ce6da3f-74411592.us-east-1.elb.amazonaws.com

em-ui                             LoadBalancer   172.20.221.225   internal-a54ec7ad6f02c49899f5bbd68ce6da3f-74411592.us-east-1.elb.amazonaws.com

Azure : How to whitelist IP Address Azure : Azure South India Region

https://docs.microsoft.com/en-us/azure/devops/organizations/security/allow-list-ip-url?view=azure-devops&tabs=IP-V4

Kubectl : NodePort : TargetPort : Port

https://medium.com/@deepeshtripathi/all-about-kubernetes-port-types-nodeport-targetport-port-containerport-e9f447330b19

https://stackoverflow.com/questions/41509439/whats-the-difference-between-clusterip-nodeport-and-loadbalancer-service-types/52241241#52241241


TargetPort  is port at which Docker Container Listens

NodePort is port at which NodePort - public ip of node listens 

Port is port at which PODS listens 

Linux : OLD PWD : cd DASH : cd -

 cd -

Kubectl : Debugging : How to : Debug Kubernetes : Debugging Kubernetes : kubernetes debugging : Kubernetes debug

https://linuxhint.com/sort-kubectl-events-by-time/

kubectl get events --sort-by='.lastTimestamp' -n amex-poc

============================================================

kubectl describe pod foobar-1h6yyy -n namespace

kubectl describe svc foobarservice   -n namespace

kubectl describe deployment foobardeploy   -n namespace

============================================================

kubectl logs mongodb-2 -n amex-poc mongodb --tail=200

kubectl logs mongodb-2 -n amex-poc mongodb --follow

============================================================

kubectl get pods -n namespace1 -w -l app=io.dev.service

-w  is watch

-l "key=value"  Labels

============================================================

kubectl create -f rabbitmq-deployment.yml -f rabbitmq-service.yml

kubectl delete -f rabbitmq-service.yml -f rabbitmq-deployment.yml

============================================================

kubectl delete deployment foodeploy -n namespace1

kubectl delete deployments foodeploy -n namespace1

kubectl delete service foobarservice -n namespace1

kubectl delete svc foobarservice -n namespace1

deployments ==== deployment

svc ====service ==== services

============================================================

https://stackoverflow.com/questions/41509439/whats-the-difference-between-clusterip-nodeport-and-loadbalancer-service-types












AWS : Secrets : Code Snippet : Nodejs

 // Use this code snippet in your app.

// If you need more information about configurations or implementing the sample code, visit the AWS docs:

https://aws.amazon.com/developers/getting-started/nodejs/


// Load the AWS SDK

var AWS = require('aws-sdk'),

    region = "us-east-1",

    secretName = "qa/cca-product/mongodb",

    secret,

    decodedBinarySecret;


// Create a Secrets Manager client

var client = new AWS.SecretsManager({

    region: region

});


// In this sample we only handle the specific exceptions for the 'GetSecretValue' API.

// See https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html

// We rethrow the exception by default.


client.getSecretValue({SecretId: secretName}, function(err, data) {

    if (err) {

        if (err.code === 'DecryptionFailureException')

            // Secrets Manager can't decrypt the protected secret text using the provided KMS key.

            // Deal with the exception here, and/or rethrow at your discretion.

            throw err;

        else if (err.code === 'InternalServiceErrorException')

            // An error occurred on the server side.

            // Deal with the exception here, and/or rethrow at your discretion.

            throw err;

        else if (err.code === 'InvalidParameterException')

            // You provided an invalid value for a parameter.

            // Deal with the exception here, and/or rethrow at your discretion.

            throw err;

        else if (err.code === 'InvalidRequestException')

            // You provided a parameter value that is not valid for the current state of the resource.

            // Deal with the exception here, and/or rethrow at your discretion.

            throw err;

        else if (err.code === 'ResourceNotFoundException')

            // We can't find the resource that you asked for.

            // Deal with the exception here, and/or rethrow at your discretion.

            throw err;

    }

    else {

        // Decrypts secret using the associated KMS CMK.

        // Depending on whether the secret is a string or binary, one of these fields will be populated.

        if ('SecretString' in data) {

            secret = data.SecretString;

        } else {

            let buff = new Buffer(data.SecretBinary, 'base64');

            decodedBinarySecret = buff.toString('ascii');

        }

    }

    

    // Your code goes here. 

});

Azure - Pipeline - Add Approver for Stage

https://learn.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops&tabs=check-pass