minikube集群中部署nginx

本文介绍了在Kubernetes中部署Nginx服务的常见方式,包括通过kubectl expose发布资源、deployment方式部署、创建service资源部署(含cluster ip、nodeport、loadbalancer等类型)以及通过Ingress发布服务,还提及为Ingress创建TLS认证以支持HTTPS访问。


在集群中部署nginx服务,需要用pod去提供应用,可以通过rc、rs、deployment等管理工具去创建pod,也可以直接创建pod(kubectl run),还可以根据yaml文件去创建pod,其本质都是通过文件去创建
创建pod资源的yaml文件如下:

apiVersion: v1
kind: Pod               # 创建的是Pod类型
metadata:               # 元数据, 一些基础信息
    name: nginx       # 名称
    labels:
        app: MyApp # 标签
spec:
    containers:
    -  name: pod-nginx     # 容器名称
       image: nginx:latest # 使用的镜像
       ports:
       -  containerPort: 80 # 容器监听的端口号

然后创建pod

#方法一:基于yaml文件创建pod
kubectl create -f pod-nginx.yaml
#方法二:直接创建pod
kubectl run nginx --image=nginx

1.通过kubectl expose的方式将资源发布

直接expose
kubectl expose pod nginx --port=80 --type=NodePort

查看服务:
在这里插入图片描述
对外暴露的端口是31168,外部访问:
在这里插入图片描述

除此之外,在集群中部署服务还有很多种方式,这里介绍几种常见的方式,关于端口,有port、targetport和nodeport。targetport是指pod内容器开放的端口,该端口一定要和pod容器中的镜像开放的端口一致,否则访问不了,port是service集群开放的端口,用于在集群内部访问,nodeport是node节点开放的端口,用于在外部访问服务

### 使用 Minikube 安装和配置多节点 Kubernetes 集群 尽管 Minikube 主要用于创建单节点集群以便于学习和发展,但也可以通过特定设置来模拟多节点环境。这有助于更贴近实际生产场景中的复杂度。 #### 设置虚拟机驱动程序 为了支持多个节点,在启动 Minikube 之前需确认已安装合适的虚拟机驱动程序,比如 VirtualBox 或者 VMware Fusion/Workstation。对于 Windows 用户来说 Hyper-V 是一个不错的选择[^1]。 ```bash minikube context --help ``` #### 初始化第一个节点作为 master 节点 使用 `--nodes` 参数指定额外的工作节点数量: ```bash minikube start --nodes=3 ``` 这条命令将会初始化一个带有三个附加工作节点的主节点集群[^2]。 #### 查看当前上下文与节点状态 确保新建立的多节点集群被正确识别: ```bash kubectl config current-context kubectl get nodes ``` 上述指令能够展示所有可用节点的信息以及它们的状态,包括刚刚添加进去的新成员们[^3]。 #### 测试多节点功能 可以通过部署一些简单的应用程序实例来进行测试,观察这些应用是否能够在不同节点间正常调度和服务访问情况。 ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 5 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:latest --- apiVersion: v1 kind: Service metadata: name: nginx-service spec: type: NodePort ports: - port: 80 targetPort: 80 selector: app: nginx ``` 保存以上内容至文件名为 `nginx.yaml` 的文档内,并执行下面的 kubectl apply 命令将其应用集群中。 ```bash kubectl apply -f nginx.yaml ``` 最后查看 Pod 和 Services 列表以验证一切按预期运作良好。 ```bash kubectl get pods,services ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值