使用terraform利用已有资源创建GKE集群

近日创建GKE集群,需要使用现有的VPC进行创建,所以需要掌握两个步骤,导入资源,创建集群 terraform 导入命令 GCP中的资源地址和 ID。资源地址是指向配置中的资源实例的标识符。ID 是标识 Google Cloud 中要导入的资源的标识符 资源地址通常为 terraform在定义这类资源时配置的(对应提供商支持),以 GCP 为例 Cloud Storage 存储桶, google_storage_bucket.sample,sample 为 id,定义如下 yaml 1 2 3 4 5 6 resource "google_storage_bucket" "sample" { name = "my-bucket" project = "sample-project" location = "US" force_destroy = true } 示例 - 导入现有GKE集群 语法 bash 1 terraform import <resource_name>.<name> <project>/<locations>/<real_resource_name> 实例 bash 1 terraform import google_container_cluster.gke project20231124/asia-east2/gke-prd-cluster-02 输出结果如下 bash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $ terraform import google_container_cluster....

 ·  · 

GKE强制升级后JAVA Pod无法识别limit限制

今日 GKE EOL,kubelet 自动升级至1.28后,Java程序在启动后无法识别资源清单中的限制,被大量OOMKill Deployment清单中已经配置了资源限制,例如下面的参数 yaml 1 2 3 4 5 resources: limits: memory: "1Gi" requests: memory: "600Mi" JAVA_OPS参数配置是使用百分比 bash 1 -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 但是启动后无法识别参数,使用 gcloud 登录到主机内查看 jvm 运行状态(因为容器使用 distroless) bash 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 project-20220325-asia-east-2-pool-221ab289-hgnf ~ # nsenter -t 274655 --mount --uts --ipc --net --pid /opt/java/openjdk/bin/java -XX:+UnlockDiagnosticVMOptions -XX:+PrintContainerInfo -version OSContainer::init: Initializing Container Support Detected cgroups v2 unified hierarchy Path to /cpu....

 ·  · 

使用docker管理谷歌物件仓库gcr上的镜像

创建服务账户 首先可以到「 IAM管理 -> 服务帐户」新增帐户。在新增完成后,会得到一把 key,将它下载后请妥善保管,因为所有相关的身份认证都会用到,这个 key 在下载后就无法继续下载了。 授权 接着到「IAM -> 新增」成员,并且选择角色,这里选择「Cloud Storage -> 储存空间物件检视者」,让此帐户具备有 read(读取) storage 的功能。 登录 bash 1 2 cat KEY-FILE | docker login -u KEY-TYPE --password-stdin \ https://LOCATION-docker.pkg.dev GCP 的 KEY-TYPE 通为 json_key,但这里包含两种类型 _json_key 和 _json_key_base64 KEY-FILE 就是下载的 Service account key 的文件 bash 1 2 cat KEY-FILE | docker login -u _json_key --password-stdin \ https://LOCATION-docker.pkg.dev 通常 Service account key 文件内容如下 yaml 1 2 3 4 5 6 7 8 9 10 11 12 13 { "type": "service_account", "project_id": "project2024-0101", "private_key_id": "bdfsd612779509406bb8452c3ek12d730ed547e722d", "private_key": "-----BEGIN PRIVATE KEY----....

 ·  · 

GCP机器类型

本文档使用以下术语 机器系列:针对特定工作负载优化的一组精选处理器和硬件配置。创建虚拟机时,您可以从首选机器系列中选择预定义或自定义机器类型。 机器系列:机器系列按系列和世代进一步分类。例如,通用机器系列中的 N1 系列是 N2 系列的旧版本。世代编号或系列号越高,表示底层 CPU 平台或技术较新。例如,M3 系列是 M2 系列的较新世代。 机器类型:每个机器类型都有一个预定义机器类型,用于为您的虚拟机提供一组资源。如果预定义机器类型不能满足您的需求,您还可以为某些机器系列创建自定义机器类型。 代 Intel AMD Arm 第 4 代机器系列 N4, C4, X4 N/A C4A 第 3 代机器系列 C3、Z3、H3、M3、A3 C3D N/A 第 2 代机器系列 E2、N2、C2、M2、A2、G2 N2D、C2D、T2D、E2 T2A 第 1 代机器系列 N1、M1 机器系列和系列建议 下表提供了针对不同工作负载的建议。 通用工作负载 E2 N2、N2D、N1 C3、C3D Tau T2D、Tau T2A 以更低的费用进行日常计算 在多种机器类型之间实现均衡的性价比 在各种工作负载中始终如一地保持高性能 最佳每核心性能/费用(适用于横向扩容工作负载) 低流量 Web 服务器 后台应用 容器化的微服务 微服务 虚拟桌面 开发和测试环境 中低流量 Web 和应用服务器 容器化的微服务 商业智能应用 虚拟桌面 CRM 应用...

 ·  · 

GKE - 为GKE集群增加VPC防火墙规则

GKE添加VPC防火墙规则有与GCE有一些区别,必须找到GKE的”网络标记“才可以,如下 选择 Kubernetes Engine => 选择 ”集群“ 进入 GKE 集群主页 随便选择一个集群,进入集群详细页面 选择集群中的任意一个节点池 找到节点池中任意一个节点,点击进入 进入后向下拉找到”网络标记“部分,这个网络标记可以标记这个集群的所有节点 如果想自定义”网络标记“的名称,可以在集群首页选择标记进行修改

 ·  ·