本地部署mini k8 cluster

本文介绍了如何在MacOS系统中部署Mini Kubernetes(Mini K8)集群,包括检查系统配置、安装Minikube、启动及连接Minikube、安装kubectl、启动Kubernetes仪表板,并通过构建一个应用服务来验证集群的运行。

mini k8 cluster又称为mini kube。本文将讲解如何在本人的macos上部署mini k8 cluster.

1. 检查你的配置

  • >2 cpus
  • >2 GB free memory
  • >20 GB free disk
  • docker/podman

2. 安装minikube

brew install minikube

3. 启动minikube

minikube start

当你看到如下内容,说明启动成功

🔎  Verifying Kubernetes components...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: storage-provisioner, default-storageclass
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

如果启动失败,则可以尝试如下命令查看log

#找到对应的minikub container
 docker ps -a | grep kube | grep -v paus
#查看log
docker logs container_id

尝试google错误,并解决。我在启动过程中,遇到了autofus4相关的错误,参考了macos - Unable to start minikube on Mac M1 with docker - Stack Overflow cesar的回答解决了问题。

4. 连接你的minikube

kubectl get po -A

这时你会看到与以下类似的输出

NAMESPACE     NAME                               READY   STATUS    RESTARTS       AGE
kube-system   coredns-64897985d-lv5pc            1/1     Running   0              2m21s
kube-system   etcd-minikube                      1/1     Running   0              2m31s
kube-system   kube-apiserver-minikube            1/1     Running   0              2m31s
kube-system   kube-controller-manager-minikube   1/1     Running   0              2m31s
kube-system   kube-proxy-69m25                   1/1     Running   0              2m22s
kube-system   kube-scheduler-minikube            1/1     Running   0              2m31s
kube-system   storage-provisioner                1/1     Running   1 (110s ago)   2m28s

如果你还没有安装kubectel, 则可以尝试以下指令安装

minikube kubectl -- get po -A
# 在你的.bashrc里添加alias
alias kubectl="minikube kubectl --"

5. 启动面板

minikube dashboard

会直接跳转到web界面

 6. 构建一个app service来试一下这个k8 cluster

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4
kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get services hello-minikube
minikube service hello-minikube

你会看到如下输出

尝试在web端访问http://127.0.0.1:61052/,你会看到一些ngnix request metadata相关的东西,例如CLIENT VALUESSERVER VALUESHEADERS RECEIVEDBODY 等。

完成!

### 在 Kubernetes部署 MongoDB 为了在 Kubernetes (K8s) 中成功部署 MongoDB,可以采用多种方法。一种常见的方式是通过定义 YAML 文件来配置 MongoDB 副本集并利用 `kubectl` 工具将其应用于 K8s 集群。 #### 使用自定义资源文件部署 MongoDB 副本集 创建一个名为 `k8s-mongodb-replicaset.yaml` 的文件,该文件包含了用于启动 MongoDB 副本集所需的所有配置细节[^1]: ```yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: mongo-rs spec: serviceName: "mongo" replicas: 3 selector: matchLabels: role: mongo template: metadata: labels: role: mongo spec: containers: - mongod - "--replSet" - rs0 - "--bind_ip" - 0.0.0.0 ports: - containerPort: 27017 --- apiVersion: v1 kind: Service metadata: name: mongodb-service spec: type: ClusterIP ports: - port: 27017 selector: role: mongo ``` 上述代码片段展示了如何设置一个三节点的 MongoDB 副本集,并提供了一个内部服务以便其他应用程序能够连接到此数据库实例。 执行以下命令以将这些更改应用至 K8s 集群中: ```bash kubectl apply -f k8s-mongodb-replicaset.yaml ``` 这会触发 K8s 创建指定数量的 Pod 来运行 MongoDB 实例以及相应的服务对象。 对于更复杂的场景或生产环境下的部署,则建议考虑使用官方支持的操作符(Operator),比如 MongoDB Enterprise Kubernetes Operator, 它提供了更加简便的方法来进行安装、管理和扩展 MongoDB 数据库集群[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值