Knative CLI Demo On OpenShift 4.11
Requirements:
- install the kn cli
Install kn cli on linux
wget https://mirror.openshift.com/pub/openshift-v4/clients/serverless/latest/kn-linux-amd64.tar.gz
tar -zxvf kn-linux-amd64.tar.gz
chmod +x kn-linux-amd64
sudo mv kn-linux-amd64 /usr/local/bin/kn
kn version
For other operating systems please refer to the link below.
Login to OpenShift
oc login --token=CHANGEME --server=https://api.example.com:6443
Create new project
oc new-project serverless-demo
Verify namespace
kn service list --namespace serverless-demo
Create deployment
kn service create echo --image tcij1013/echo:latest
Reterive URL
TESTURL=$(kn service list | grep echo | awk '{print $2}')
Test URL or open in web browser
echo $TESTURL
curl -s $TESTURL
Configure concurrency limits on deployment
Concurrency is nothing more than the number of requests a system can service at any given time and is normally driven by a fixed resource such as CPU.
kn service update echo --concurrency-limit=1
Send traffic to deployment
while true; do sleep 1; curl $TESTURL; echo -e '\n\n\n\n'$(date) hit CTRL-c to stop;done
Change concurrency limit back to zero
kn service update echo --concurrency-limit=0
Set a deployment revision
kn service update echo --revision-name echo-v1
curl -s $TESTURL
Pass new message to v2 deployment
kn service update echo --revision-name echo-v2 --env MSG="OCP KNATIVE DEMO"
curl -s $TESTURL
Add weight to traffic to spread it between v1 and v2
kn service update echo --traffic echo-v1=50,echo-v2=50
while true; do sleep 1; curl $TESTURL; echo -e '\n\n\n\n'$(date) hit CTRL-c to stop;done
Setup a deployment with a v3 revision see that traffic does not gt sent to this deployment
kn service update echo --revision-name echo-v3 --env MSG="Having fun?"
while true; do sleep 1; curl $TESTURL; echo -e '\n\n\n\n'$(date) hit CTRL-c to stop;done
Delete deployment
kn service delete echo
Links: Knative Tutorial Knative CLI (kn) for use with OpenShift Serverless