2024-05-17 渥太华微生活
Kubernetes 是一个用于自动部署、扩展和管理容器化应用程序的开源系统。
在这篇文章中,我们将部署一个简单的 php 页面在 Kubernetes 集群上。
1、创建PHP网页
创建一个名为index.php的简单PHP页面。
<?php phpinfo();
2、创建Dockerfile
创建一个Dockerfile文件。
FROM php:8.2.18-apache COPY . /var/www/html/
3、构建镜像,并将其推送到 docker hub 中
1) 为 html 应用程序构建镜像:
docker build -t mydockerid/kubernetes-php-ingress .
2) 登录 docker hub 并将该镜像推送到 docker hub 中:
docker login docker push mydockerid/kubernetes-php-ingress
4、创建部署和服务
1) 编写一个 YAML 文件 deployment-service.yaml,包括部署和服务。
apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deployment labels: app: myapp spec: selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: containers: - name: myapp-container image: legendit/kubernetes-php-ingress resources: limits: memory: 512Mi cpu: "1" requests: memory: 256Mi cpu: "0.2" ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: myapp-service spec: selector: app: myapp ports: - protocol: TCP port: 80 targetPort: 80
2) 使用以下命令创建部署。
kubectl apply -f deployment-service.yaml
3) 检查部署和服务是否创建成功。
kubectl get deployment kubectl get pods kubectl get service
5、创建 Ingress
为了在 Kubernetes 中使用 URL,你需要一个 Ingress。Ingress 是一组允许入站连接到达 Kubernetes 集群的规则。
Ingress 是非常必要的,因为在 Kubernetes 中,诸如 Pod 之类的资源仅具有可在集群内和集群内路由的IP地址。也就是说它们是无法进出外部环境的。
1) 创建 Ingress-nginx 控制器
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/deploy/static/provider/cloud/deploy.yaml
检查控制器是否创建成功。
kubectl -n ingress-nginx get pod NAME READY STATUS RESTARTS AGE ingress-nginx-admission-create-6f9w5 0/1 Completed 0 2m20s ingress-nginx-admission-patch-vsk2j 0/1 Completed 1 2m20s ingress-nginx-controller-5f4d7b5f5c-6pnx5 1/1 Running 0 2m20s
2) 创建 ingress 服务
a) 编写一个服务 YAML 文件 ingress.yaml。
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: myapp-ingress spec: ingressClassName: nginx rules: - http: paths: - pathType: Prefix path: "/" backend: service: name: myapp-service port: number: 80
b) 使用以下命令创建服务。
kubectl apply -f ingress.yaml
c) 检查服务是否创建成功。
kubectl get ingress NAME CLASS HOSTS ADDRESS PORTS AGE myapp-ingress nginx * localhost 80 20s
6、访问网页
现在您可以访问:
http://<节点IP地址>
如果是本地服务器,可以访问:
localhost
下面是访问页面。
编者注:新闻取自各大新闻媒体,新闻内容并不代表本网立场!文字和图片来自网络,版权归原作者所有。如有侵权,请速联系小编,立即删除。
全部评论 (0) |
---|