k8s部署nginx
时间: 2023-08-08 11:11:02 浏览: 103
k8s 新版本 部署 Ingress-nginx controller.doc
要在 Kubernetes 上部署 Nginx,你可以按照以下步骤进行操作:
1. 首先,确保你已经安装了 Kubernetes 集群,并且你的 kubectl 命令可以正常工作。
2. 创建一个名为 `nginx-deployment.yaml` 的 YAML 文件,并在其中定义 Nginx 的 Deployment。示例文件内容如下:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
```
在上述示例中,我们定义了一个名为 `nginx-deployment` 的 Deployment,它将在集群中创建 3 个副本。Nginx 容器使用 `nginx:latest` 镜像,并将容器端口映射到主机的 80 端口。
3. 使用 kubectl 命令来创建 Deployment:
```shell
kubectl apply -f nginx-deployment.yaml
```
4. 验证 Deployment 是否成功创建,并查看 Pod 的状态:
```shell
kubectl get deployments
kubectl get pods
```
你应该能够看到名为 `nginx-deployment` 的 Deployment 和对应的 Pod。
5. 如果一切正常,你可以使用 Service 来公开 Nginx Pod。创建一个名为 `nginx-service.yaml` 的 YAML 文件,并在其中定义 Service。示例文件内容如下:
```yaml
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
```
在上述示例中,我们定义了一个名为 `nginx-service` 的 Service,它将流量转发到具有 `app=nginx` 标签的 Pod 上,并将容器端口 80 映射到主机的 80 端口。
6. 使用 kubectl 命令来创建 Service:
```shell
kubectl apply -f nginx-service.yaml
```
7. 验证 Service 是否成功创建,并查看服务的 EXTERNAL-IP:
```shell
kubectl get services
```
你应该能够看到名为 `nginx-service` 的 Service,并且 EXTERNAL-IP 字段将显示一个 IP 地址或者 LoadBalancer 的外部地址。
现在,你应该能够通过通过浏览器访问 Nginx 服务的 IP 地址来访问部署在 Kubernetes 上的 Nginx。注意,这可能需要一些时间来分配外部 IP 地址和加载 Nginx 容器镜像。
阅读全文