2024-04-18 渥太华微生活
Kubernetes 是一个用于自动部署、扩展和管理容器化应用程序的开源系统。
在这篇文章中,我们将部署一个简单的 html 页面在 Kubernetes 集群上。
1、创建HTML静态网页
在项目根目录下,创建一个名为index.html的简单html页面,并将一些内容添加到html文件中。
<!DOCTYPE html> <html> <head> <title>My Project</title> </head> <body> <h1>Kubernetes</h1> <p>Kubernetes is a container orchestration technology.</p> </body> </html>
2、创建Dockerfile
在项目根目录下,创建一个名为 Dockerfile 的 docker 文件,路径与 index.html 相同。
FROM nginx:alpine COPY . /usr/share/nginx/html
3、构建镜像,并将其推送到 docker hub 中
1) 为 html 应用程序构建镜像:
docker build -t mydockerid/kubernetes-html .
2) 登录 docker hub 并将该镜像推送到 docker hub 中:
docker login docker push mydockerid/kubernetes-html
4、创建部署和 pods
1) 编写一个部署 YAML 文件 nginx-deployment.yaml。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: mydockerid/kubernetes-html #put your image in docker hub here resources: limits: memory: 512Mi cpu: "1" requests: memory: 256Mi cpu: "0.2" ports: - containerPort: 80
2) 使用以下命令创建部署。
kubectl create -f nginx-deployment.yaml
上述命令将使用单个 NGINX 容器创建一个 pod。NGINX Web 服务器将开始监听端口 80。由于副本被指定为 1,因此它将仅创建单个 pod 供服务公开。
3) 检查部署和pod是否创建成功。
kubectl get deployment kubectl get pods
5、创建服务
1) 编写一个服务 YAML 文件 nginx-service.yaml。
apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx type: NodePort ports: - protocol: TCP port: 80 targetPort: 80
2) 使用以下命令创建服务。
kubectl create -f nginx-service.yaml
该服务将创建为 NodePort 类型。这意味着,它将通过端口 80 在每个节点上公开 NGINX Web 服务器。根据标签选择器“app: nginx”为此服务选择适当的 pod。您可以注意到,这与我们在部署中创建 NGINX pod 时指定的标签相同。
3) 检查服务是否创建成功。
kubectl get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx-service NodePort 10.96.163.55 <none> 80:31871/TCP 25m
注意端口字段,NGINX服务在节点端口31871可用。
6、访问网页
现在您可以访问:
http://<节点IP地址>:31871
如果是本地服务器,可以访问:
localhost:31871
下面是访问页面。
编者注:新闻取自各大新闻媒体,新闻内容并不代表本网立场!文字和图片来自网络,版权归原作者所有。如有侵权,请速联系小编,立即删除。
全部评论 (0) |
---|