1.Project > Configure > check github hook trigger and add repository URL
2.On Github Project > settings > Webhooks > Add webhook
1.Project > Configure > check github hook trigger and add repository URL
2.On Github Project > settings > Webhooks > Add webhook
1.Create serverless python3 deployment
faas-cli new --lang python3 python-fn --gateway http://192.168.0.183:31112 --prefix=192.168.0.183:30500/python-fn
–prefix = Docker private repository
–gateway = Openfass gateway server
2.It will create the python-fn directory and python-fn.yml file
3.Write your python code inside python-fn/handler.py
def handle(req):
"""handle a request to the function
Args:
req (str): request body
"""
print("hola-openfaas")
return req
4.Build / Push / Deploy
faas-cli build -f python-fn.yml
faas-cli push -f python-fn.yml
export OPENFAAS_URL=http://192.168.0.183:31112
faas-cli login --password "YOUR_Openfaas_PASSWORD"
faas-cli deploy -f python-fn.yml
5. Remove
faas-cli remove -f python-fn.yml
rm -rf python-fn*
Openfaas installation in k8
curl -sL https://cli.openfaas.com | sudo sh
git clone https://github.com/openfaas/faas-netes
kubectl apply -f https://raw.githubusercontent.com/openfaas/faas-netes/master/namespaces.yml
PASSWORD=$(head -c 12 /dev/urandom | shasum| cut -d' ' -f1)
kubectl -n openfaas create secret generic basic-auth \
--from-literal=basic-auth-user=admin \
--from-literal=basic-auth-password="$PASSWORD"
cd faas-netes
kubectl apply -f ./yaml
nohup kubectl port-forward svc/gateway -n openfaas 31112:8080 &
export OPENFAAS_URL=http://192.168.0.183:31112
echo -n "$PASSWORD" | faas-cli login --password-stdin
echo "$PASSWORD"
1. Setup TCP load balancer using nginx (192.168.0.50)
load_module /usr/lib64/nginx/modules/ngx_stream_module.so;
events { }
stream {
upstream kapi {
server 192.168.0.51:6443;
server 192.168.0.52:6443;
server 192.168.0.53:6443;
}
server {
listen 8888;
proxy_pass kapi;
}
}
2. Run below command on all master node
yum install -y kubelet kubeadm kubectl docker
systemctl enable kubelet
systemctl start kubelet
systemctl enable docker
systemctl start docker
3. Run below command on 192.168.0.51
kubeadm init --control-plane-endpoint "192.168.0.50:8888" --upload-certs
It will generate command to add other master node and worker node
4.Join other 2 master (192.168.0.51, 192.168.0.52)
kubeadm join 192.168.0.50:8888 --token hvlnv8.6r90i8d04cs23sii \
--discovery-token-ca-cert-hash sha256:bc6fe39f98c7ae6cd8434bd8ade4eb3b15b45e151af37595e4be0a9fdfcfdcc4 \
--control-plane --certificate-key 3659353b0a256650fb0c1a0357cb608d07e3bdc8ce8b64fa995bcb814c131fa6
Note : Token will be differ
5.Get the info of cluster
kubectl cluster-info
kubectl get node
stages {
def skip_stage = 'skip'
pipeline
{
agent {
label 'master'
}
parameters {
string(name: 'skip_stage', description: 'skip stage', defaultValue: 'skip')
}
stages
{
stage("test") {
when {
expression { skip_stage != "skip" }
}
steps {
echo 'This will never run'
}
}
}
}
More when condition : https://gist.github.com/merikan/228cdb1893fca91f0663bab7b095757c