在这篇博客中,我们将快速浏览在Kubernetes的复制控制器的帮助下部署Keptn的步骤!!所以,让我们深入了解一下 🙂
什么是Keptn?
Keptn是一个开源的控制平面,用于构建云原生的、行业驱动的持续交付系统。根据Dynatrace的说法,Keptn增强了任何标准的Kubernetes集群,以支持基于自动化质量门和自愈运营工作流程的交付。
使用K8s部署Keptn
现在让我们在Kubernetes中部署Keptn。
前提条件
要在Kubernetes中部署Keptn,我们需要以下条件: --
- 关于Kubernetes和复制控制器的基本知识。
- 关于yaml文件的基本知识。
代码块
在你的yaml文件中复制复制控制器的代码,并将其保存为keptn-rc.yaml。
apiVersion: v1
kind: ReplicationController
metadata:
#contains 2 things object name and label
name: keptn-rc
spec:
#contains no. of replicas and pods spec
replicas: 3
selector:
app: keptn-app
template:
#pods spec
metadata:
name: keptn-pod
labels:
app: keptn-app
spec:
containers:
- name: keptn-container
image: gardnera/thekindkeptn:0.0.15
ports:
- containerPort: 80
这里我们要创建一个复制控制器,规格如下。
- 复制控制器的元数据:keptn-rc
- keptn pods的复制:3
- 容器名称:keptn-container
- Keptn图像: gardnera/thekindkeptn:0.0.15
- 运行的端口:80
默认情况下,只有3个Keptn的pod会在节点上运行。要增加或减少pods,请使用以下命令。
代码实现
- Deploy keptn rc with (default 3 replicas) following command.
kubectl create -f keptn-rc.yaml
- Get output of running pods using this command.
kubectl get po -o wide
- Scale Up / Scale Down the pods using this command.
kubectl scale rc keptn-rc --replicas=5
kubectl scale rc keptn-rc --replicas=1
- Delete keptn-rc after deployment
kubectl delete -f keptn-rc.yaml
趣味部分 🙂
如果你不想执行上述步骤,我为你制作了一个脚本,可以做到这一点 🙂
以bash方式执行main.sh即可。
echo "Please enter the number of pods you want to deploy for Keptn"
read count
echo $count
#Start keptn: with 3 nodes
kubectl create -f keptn-rc.yaml && kubectl scale rc keptn-rc --
replicas=$count
#Check output:
kubectl get po -o wide
echo
while true; do
read -p "Do you want to scalup Pods? [y for Yes ; n for No ; q for
Quit] " yn
echo ""
case $yn in
[Yy]* ) echo "Enter number of pods to scale up"
read scale_count
echo "Pods scaled up to $scale_count" && kubectl scale rc keptn-rc --
replicas=$scale_count ; break;;
[Nn]* ) break ;;
[Qq]* ) exit 0;;
* ) echo "Please provide a yes or no answer."
esac
done
echo
while true; do
read -p "Do you want to scaldown Pods? [y for Yes ; n for No ; q for
Quit] " yn
echo ""
case $yn in
[Yy]* ) echo "Enter number of pods to scale down"
read scale_count
echo "Pods scaled down to $scale_count" && kubectl scale rc keptn-rc
--replicas=$scale_count ; break;;
[Nn]* ) break ;;
[Qq]* ) exit 0;;
* ) echo "Please provide a yes or no answer."
esac
done
echo
while true; do
read -p "Do you want to delete this Deployment? [y for Yes ; n for No
; q for Quit] " yn
echo ""
case $yn in
[Yy]* ) kubectl delete -f keptn-rc.yaml ; break;;
[Nn]* ) break ;;
[Qq]* ) exit 0;;
* ) echo "Please provide a yes or no answer."
esac
done
输出
用上述命令运行并扩大Keptn pods的规模。

扩大pods规模
用上述命令运行并缩小Keptn pods的规模。

缩小豆荚规模
总结
在这篇博客中,我试图介绍使用Kubernetes(K8s)部署Keptn。我已经尽力为你提供了源代码,以及为你完成所有步骤的脚本。