a demo for k8s

本文详细介绍如何使用Kubernetes部署HTTP应用,包括创建Deployment、运行Pods以及调度策略。通过实例演示了从请求发送到API Server,通知Controller Manager创建资源,再到Scheduler分配Pods至节点的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

deploy app on my k8s cluster:

deployed the deployment httpd-app,two Pods

kubectl run httpd-app --image=httpd --replicas=2

kubectl get deployment

kubectl get pod -o wide
在这里插入图片描述
Master:
在这里插入图片描述

Node1:
在这里插入图片描述
Node2:
在这里插入图片描述

1.kubectl sends deployment request to API Server
2.API Server notifies Controller Manager to create deployment resource.
3.Scheduler executes schedule task to send two Pods to node1 and node2.
4.node1 and node2 's kubelet creates and run Pod

### 使用Terraform管理Kubernetes资源 为了有效地管理和配置Kubernetes集群中的各种资源,可以利用Terraform作为基础设施即代码(IaC)工具。通过这种方式,不仅能够自动化部署过程,还能确保环境的一致性和可重复性。 #### 安装必要的提供程序 首先,在`main.tf`文件中定义所需的提供商: ```hcl provider "kubernetes" { config_path = "~/.kube/config" } ``` 此部分指定了要使用的Kubernetes配置路径[^1]。 #### 配置后端存储 对于状态数据的安全保存以及团队协作开发来说,设置合适的后端非常重要。下面是一个Azure Resource Manager (ARM) 后端的例子: ```hcl terraform { backend "azurerm" { resource_group_name = "terraform-demo" storage_account_name = "tfstateadmin777" container_name = "tfstate" key = "global/backend/terraform-backend.tfstate" } } ``` 这段代码片段展示了如何将Terraform的状态文件存放在Azure Blob Storage上[^2]。 #### 创建Kubernetes资源 接下来就是创建实际的Kubernetes对象了。这里展示了一个简单的例子——启动Minikube服务并等待某些其他组件准备就绪之后再执行命令: ```hcl resource "null_resource" "minikubeservice" { provisioner "local-exec" { command = "minikube service list" } depends_on = [ kubernetes_deployment.abhiwp, kubernetes_service.abhiwplb, aws_db_instance.abhidatabase ] } ``` 上述脚本会先确认指定的服务和数据库实例已经成功建立后再运行`minikube service list`命令来显示当前可用的服务列表[^3]。 除了这些基本操作外,还可以进一步扩展到更复杂的场景,比如应用持久卷声明(PVC),设置网络策略等。总之,借助于Terraform的强大功能集,几乎所有的Kubernetes API都可以被映射成相应的HCL(HashiCorp Configuration Language)语句来进行描述与控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值