Google | GCP HTTP负载均衡
theme: orange我正在参加「掘金·启航计划」本篇文章首先回顾之前讲到的虚拟机,K8s的创建方式,同时介绍HTTP负载均衡器创建方法,整个过程基于Cloud Shell 命令行工具。创建计算实例将实例命名为 nucleus-jumphost-923 。使用“f1-micro”机器类型。使用默认映像类型 (Debian Linux)。配置可用区域为us-e...
theme: orange
我正在参加「掘金·启航计划」
本篇文章首先回顾之前讲到的虚拟机,K8s的创建方式,同时介绍HTTP负载均衡器创建方法,整个过程基于Cloud Shell 命令行工具。
创建计算实例
- 将实例命名为 nucleus-jumphost-923 。
- 使用“f1-micro”机器类型。
- 使用默认映像类型 (Debian Linux)。
- 配置可用区域为us-east1-b
```
gcloud config set compute/zone us-east1-b
gcloud compute instances create nucleus-jumphost-853 --machine-type f1-micro --zone us-east1-b ```
创建K8s服务集群
- 创建集群(位于 us-east1-b 可用区)以托管该服务。
- 使用 Docker 容器 hello-app (gcr.io/google-samples/hello-app:2.0) 作为临时占位;该团队稍后会将该容器替换为自己创建的容器。
- 在端口 8081 上公开该应用。
``` gcloud config set compute/zone us-east1-b
gcloud container clusters create --machine-type=e2-medium lab-cluster
gcloud container clusters get-credentials lab-cluster
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:2.0
kubectl expose deployment hello-server --type=LoadBalancer --port 8081
```
设置HTTP负载均衡器
上文讲到了传统的网络负载均衡器,接下来您将基于包含 2 个 nginx 网络服务器的代管式实例组创建 HTTP 负载均衡器。并且使用以下代码配置网络服务器;
``` cat << EOF > startup.sh
! /bin/bash
apt-get update apt-get install -y nginx service nginx start sed -i -- 's/nginx/Google Cloud Platform - '"\$HOSTNAME"'/' /var/www/html/index.nginx-debian.html EOF ``` 您需要执行的操作:
- 创建一个实例模板。
``` gcloud compute instance-templates create lb-backend-template \ --region= \ --network=default \ --subnet=default \ --tags=allow-health-check \ --machine-type=e2-medium \ --image-family=debian-11 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update
apt-get install -y nginx
service nginx start
sed -i -- "s/nginx/Google Cloud Platform - " \$HOSTNAME"'/' /var/www/html/index.nginx-debian.html'
```
- 创建目标池。
gcloud compute target-pools create www-pool \ --region --http-health-check basic-check
创建代管式实例组。
gcloud compute instance-groups managed create lb-backend-group \ --template=lb-backend-template --size=2 --zone=
创建一条名为 accept-tcp-rule-315 的防火墙规则,以允许定向到端口 80 的 TCP 流量。
```
gcloud compute firewall-rules create accept-tcp-rule-315 \ --network=default \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=allow-health-check \ --rules=tcp:80
```
创建一项健康检查。
gcloud compute health-checks create http http-basic-check \ --port 80
创建后端服务,然后使用指定端口 (http:80) 挂接代管式实例组。
``` gcloud compute backend-services create web-backend-service \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
gcloud compute backend-services add-backend web-backend-service \ --instance-group=lb-backend-group \ --instance-group-zone= \ --global
```
- 创建网址映射并定位到 HTTP 代理,以将请求路由到您的网址映射。
``` gcloud compute url-maps create web-map-http \ --default-service web-backend-service
gcloud compute target-http-proxies create http-lb-proxy \ --url-map web-map-http
```
- 创建转发规则。
``` gcloud compute forwarding-rules create http-content-rule \ --address=lb-ipv4-1\ --global \ --target-http-proxy=http-lb-proxy \ --ports=80
```
更多推荐
所有评论(0)