Google | GCP HTTP负载均衡


theme: orange

我正在参加「掘金·启航计划」

本篇文章首先回顾之前讲到的虚拟机,K8s的创建方式,同时介绍HTTP负载均衡器创建方法,整个过程基于Cloud Shell 命令行工具。

创建计算实例

  1. 将实例命名为 nucleus-jumphost-923 。
  2. 使用“f1-micro”机器类型。
  3. 使用默认映像类型 (Debian Linux)。
  4. 配置可用区域为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 ```

image.png

创建K8s服务集群

  1. 创建集群(位于 us-east1-b 可用区)以托管该服务。
  2. 使用 Docker 容器 hello-app (gcr.io/google-samples/hello-app:2.0) 作为临时占位;该团队稍后会将该容器替换为自己创建的容器。
  3. 在端口 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

```

image.png

设置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 ``` 您需要执行的操作:

  1. 创建一个实例模板。

``` 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'

```

  1. 创建目标池。 gcloud compute target-pools create www-pool \ --region --http-health-check basic-check
  2. 创建代管式实例组。 gcloud compute instance-groups managed create lb-backend-group \ --template=lb-backend-template --size=2 --zone=

  3. 创建一条名为 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

```

  1. 创建一项健康检查。 gcloud compute health-checks create http http-basic-check \ --port 80

  2. 创建后端服务,然后使用指定端口 (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

```

  1. 创建网址映射并定位到 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

```

  1. 创建转发规则。

``` gcloud compute forwarding-rules create http-content-rule \ --address=lb-ipv4-1\ --global \ --target-http-proxy=http-lb-proxy \ --ports=80

```

猜你喜欢

转载自blog.csdn.net/DynmicResource/article/details/127023878
gcp