谷歌云代理商:‌如何用谷歌云服务器搭建Kubernetes集群?

79 阅读1分钟

本文由【云老大】 TG@yunlaoda360 撰写

创建项目和启用API

  1. 登录Google Cloud Console:访问Google Cloud Console并使用您的Google账户登录。
  2. 创建项目:在Google Cloud Console中,点击左上角的菜单,选择“IAM与管理” > “创建项目”,输入项目名称并点击“创建”。
  3. 启用API:在控制台左侧菜单中选择“API与服务”,搜索并启用“Compute Engine API”和“Google Kubernetes Engine API”。

创建VPC网络和子网

  1. 创建VPC网络

    bash

gcloud compute networks create gke-network --subnet-mode=custom

2. **创建子网**:
```bash
gcloud compute networks subnets create gke-subnet-a \
 --network gke-network \
 --region us-central1 \
 --range 10.0.1.0/24 \
 --secondary-range pod-network=172.16.0.0/18,service-network=172.16.64.0/20

创建GKE集群

  1. 使用gcloud CLI创建集群

    bash

gcloud container clusters create demo-gke
--region us-central1
--no-enable-ip-alias
--node-locations us-central1-a,us-central1-b,us-central1-c
--num-nodes 1
--enable-autoscaling
--min-nodes 1
--max-nodes 3
--node-labels=env=dev
--machine-type g1-small
--enable-autorepair
--node-labels=type=webapps
--enable-vertical-pod-autoscaling
--preemptible
--disk-type pd-standard
--disk-size 50
--enable-ip-alias
--network gke-network
--subnetwork gke-subnet-a
--cluster-secondary-range-name pod-network
--services-secondary-range-name service-network
--tags=webapp
--enable-master-authorized-networks
--master-authorized-networks=0.0.0.0/0

2. **获取集群凭据**:
```bash
gcloud container clusters get-credentials demo-gke  --region=us-central1

验证集群

  1. 部署一个示例应用

    bash

apiVersion: v1 kind: Service metadata: name: nginx-service namespace: demo spec: selector: app: nginx type: NodePort ports: - port: 80 targetPort: 80 nodePort: 32000 EOF

复制

2. **验证部署状态**```bash
kubectl get deployments -n demo
kubectl describe svc nginx-service -n demo
  1. 配置防火墙规则

    bash

gcloud compute firewall-rules create gke-webapps
--network=gke-network
--allow=tcp:32000
--description="Allow incoming traffic on TCP port 32000"
--direction=INGRESS
--source-ranges="0.0.0.0/0"
--target-tags="gke-webapps"


4. **访问应用**:
```bash
gcloud compute instances list --filter="name~'gke-demo-*'"

使用获取到的节点IP地址和端口访问应用,例如:http://35.224.101.80:32000/