通过gcloud创建Google Kubernetes Engine(GKE)并通过kubectl访问
1 简介
GKE(Google Kubernetes Engine)是一个K8s平台, 我们可以使用gcloud
来创建GKE集群。在开始之前,可以查看:《初始化一个GCP项目并用gcloud访问操作》。
2 创建GKE集群
2.1 打开API
在创建集群之前,需要打开Google API,不然无法操作:
$ gcloud services enable compute.googleapis.com
$ gcloud services enable container.googleapis.com
2.2 创建
K8s集群的节点机器类型多种多样,可以查看一下某个区都有哪些机器类型:
$ gcloud compute machine-types list | grep us-west
这里我选择一个便宜的:n1-standard-1。
使用 gcloud container clusters create
来创建:
$ gcloud container clusters create pkslow-k8s \
--zone us-west1-a \
--cluster-version 1.20.10-gke.1600 \
--machine-type n1-standard-1WARNING: Currently VPC-native is not the default mode during cluster creation. In the future, this will become the default mode and can be disabled using `--no-enable-ip-alias` flag. Use `--[no-]enable-ip-alias` flag to suppress this warning.
WARNING: Starting with version 1.18, clusters will have shielded GKE nodes by default.
WARNING: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s).
WARNING: Starting with version 1.19, newly created clusters and node-pools will have COS_CONTAINERD as the default node image when no image type is specified.
Creating cluster pkslow-k8s in us-west1-a...done.
Created [https://container.googleapis.com/v1/projects/pkslow/zones/us-west1-a/clusters/pkslow-k8s].
To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/us-west1-a/pkslow-k8s?project=pkslow
kubeconfig entry generated for pkslow-k8s.
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
pkslow-k8s us-west1-a 1.20.10-gke.1600 34.82.42.67 n1-standard-1 1.20.10-gke.1600 3 RUNNING
看日志,提示创建成功。
2.3 通过命令行访问
创建成功后,查看对应的版本号和节点:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.10-gke.1600", GitCommit:"ef8e9f64449d73f9824ff5838cea80e21ec6c127", GitTreeState:"clean", BuildDate:"2021-09-06T09:24:20Z", GoVersion:"go1.15.15b5", Compiler:"gc", Platform:"linux/amd64"}$ kubectl get node
NAME STATUS ROLES AGE VERSION
gke-pkslow-k8s-default-pool-4743a88e-175c Ready <none> 59s v1.20.10-gke.1600
gke-pkslow-k8s-default-pool-4743a88e-71l6 Ready <none> 58s v1.20.10-gke.1600
gke-pkslow-k8s-default-pool-4743a88e-9wn2 Ready <none> 59s v1.20.10-gke.1600
SDK已经自动帮我们创建了k8s上下文,也下载了cert,所以可以直接访问:
$ kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACEdocker-desktop docker-desktop docker-desktop
* gke_pkslow_us-west1-a_pkslow-k8s gke_pkslow_us-west1-a_pkslow-k8s gke_pkslow_us-west1-a_pkslow-k8s
如果没有对应的权限,可以重新获取:
$ gcloud container clusters get-credentials pkslow-k8s --zone=us-west1-a
查看所有的 Pods:
$ kubectl get pod -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system event-exporter-gke-67986489c8-2lvtj 2/2 Running 0 4m14s
kube-system fluentbit-gke-6xdgs 2/2 Running 0 3m59s
kube-system fluentbit-gke-92swm 2/2 Running 0 3m58s
kube-system fluentbit-gke-xrj9q 2/2 Running 0 3m59s
kube-system gke-metrics-agent-9z2m2 1/1 Running 0 3m59s
kube-system gke-metrics-agent-f5kj2 1/1 Running 0 3m59s
kube-system gke-metrics-agent-jwsnk 1/1 Running 0 3m58s
kube-system konnectivity-agent-686dbcf84c-852jd 1/1 Running 0 3m28s
kube-system konnectivity-agent-686dbcf84c-sx8rk 1/1 Running 0 4m9s
kube-system konnectivity-agent-686dbcf84c-vz68j 1/1 Running 0 3m29s
kube-system konnectivity-agent-autoscaler-6cb774c9cc-j6s2t 1/1 Running 0 4m9s
kube-system kube-dns-autoscaler-844c9d9448-t545t 1/1 Running 0 4m9s
kube-system kube-dns-b4f5c58c7-psxrv 4/4 Running 0 4m10s
kube-system kube-dns-b4f5c58c7-v7phb 4/4 Running 0 3m34s
kube-system kube-proxy-gke-pkslow-k8s-default-pool-4743a88e-175c 1/1 Running 0 2m34s
kube-system kube-proxy-gke-pkslow-k8s-default-pool-4743a88e-71l6 1/1 Running 0 3m53s
kube-system kube-proxy-gke-pkslow-k8s-default-pool-4743a88e-9wn2 1/1 Running 0 2m56s
kube-system l7-default-backend-56cb9644f6-5qzsr 1/1 Running 0 4m15s
kube-system metrics-server-v0.3.6-9c5bbf784-xrksq 2/2 Running 0 3m19s
kube-system pdcsi-node-7d7gp 2/2 Running 0 3m58s
kube-system pdcsi-node-cx4dp 2/2 Running 0 3m59s
kube-system pdcsi-node-zz2hv 2/2 Running 0 3m59s
2.4 通过Console访问
我们可以在GCP console查看,更方便:
像Deployment, DaemonSet这些一样可以查看:
GCP提供了Metrics,可以查看CPU、内存、硬盘等信息,当然还有日志:
3 虚拟机
当创建GKE集群的时候,每个节点会对应一个虚拟机,可以在Compute Engine上查看:
当然也可以能过命令gcloud
查看:
$ gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
gke-pkslow-k8s-default-pool-4743a88e-175c us-west1-a n1-standard-1 10.138.0.3 34.105.xx.xxx RUNNING
gke-pkslow-k8s-default-pool-4743a88e-71l6 us-west1-a n1-standard-1 10.138.0.2 35.247.xx.xxx RUNNING
gke-pkslow-k8s-default-pool-4743a88e-9wn2 us-west1-a n1-standard-1 10.138.0.4 35.199.xx.xxx RUNNING
如果要进入机器查问题,可以直接ssh进去:
$ gcloud compute ssh gke-pkslow-k8s-default-pool-4743a88e-175c --zone=us-west1-a
日志也是十分方便查看的:
4 删除集群
使用完毕后,要记得删除集群,以免造成浪费:
$ gcloud container clusters delete pkslow-k8s --zone us-west1-a
通过gcloud创建Google Kubernetes Engine(GKE)并通过kubectl访问相关推荐
- Google Kubernetes Engine(GKE) 使用初探
Google Kubernetes Engine(GKE) 使用初探 概述 Google 的 k8s 在 2017 年已经从容器编排领域的竞争中取得主导地位,从 Docker 之前的一度排挤到最终完全 ...
- Google | Google Kubernetes Engine 集群实战
theme: orange 携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情 GKE 集群介绍 Google Kubernetes Engine (GKE) ...
- Kubernetes本地集群和Google Kubernetes Engine的区别
SAP Kyma的安装文档里,曾经提到了Google Kubernetes Engine(GKE)这个概念. 同时,Kubernetes的爱好者,也可以在本地多台机器上部署Kubernetes集群.这 ...
- 谷歌发布Google Kubernetes Engine On-Prem
Google Cloud正在构建自己的Kubernetes Engine(简称GKE)服务版本,以供用户在自有数据中心内运行.GKE On-Prem,旨在为企业客户提供一种立足内部与公有云端的应用程序 ...
- (一)在GKE上创建MLOps Kubernetes集群
目录 Kubernetes简述 设置GKE集群 启动GKE集群 创建secrets.yaml文件 下一步 在之前的系列文章中,我们讨论了在一组Docker容器中作为CI/CD MLOps管道的一部分 ...
- 谷歌gke_GKE教程:Google Kubernetes引擎入门
谷歌gke Kubernetes将拯救我们所有人. 如果可以的话,我们可以确定如何安装和维护它. 对于刚起步的人来说,Kubernetes(在您当地的社区时髦开发人员中也称为K8)是一个开放源代码平台 ...
- Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安装部署体验
作为Rancher 2.0的重要组件,Rancher Kubernetes Engine(RKE)现已正式全面发布!这是Rancher Labs推出的新的开源项目,一个极致简单易用.闪电般快速.支持一 ...
- Rancher Kubernetes Engine(RKE)正式发布:闪电般的Kubernetes安装部署体验 1
2019独角兽企业重金招聘Python工程师标准>>> 作为Rancher 2.0的重要组件,Rancher Kubernetes Engine(RKE)现已正式全面发布!这是Ran ...
- 微服务架构工作笔记003---了解认识google Kubernetes 容器管理
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 下面这个是官网: https://kubernetes.io/zh/docs/concepts/o ...
最新文章
- 【控制】《多智能体系统的动力学分析与设计》徐光辉老师-第8章-有输入时滞的二阶多智能体系统的多一致
- LeetCode: Longest Consecutive Sequence [128]
- 拦截导弹 最长上升/下降子序列
- python规定浮点数类型可以不带小数部分吗_Python标准数据类型-数字
- MySQL免安装版配置部署
- List转换为数组Array的方法
- 易语言-MD5加密16位和32位方法
- CS224n笔记11 GRU和NMT的进一步话题
- java 图片自适应_水印宽高比例自适应图片(Java-Thumbnails)
- PROSAIL模型前向模拟与植被参数遥感提取代码实践
- Windows历史版本
- Java中Object转化为int类型
- 计算机专业研究生的读研规划思考------转载
- execl2010数据有效性验证,保存后丢失问题
- 深度学习在语音分离的应用
- Ta-lib学习笔记02--K线模式识别
- linux12企业实战 -- 37zabbix企业微信通知配置
- Android开发艺术探索完结篇——天道酬勤
- Quill编辑器介绍及扩展
- linux 下 java环境安装
热门文章
- 创业力:创业者的9堂必修课01 1 2007IBMJava10100
- 「科普」带你认识5G基站
- zabbix邮箱告警的三种方式
- win10默认浏览器中找不到谷歌浏览器最快速的解决办法
- spring security 3配置ACL时报java.lang.NoSuchMethodError: net.sf.ehcache.Cache.init
- Python爬取微信公众号历史文章进行数据分析,发现2017年运营总结,可以这样写!...
- 更改Excel单元格中批注的显示位置
- 在Webots中导入自己的3D模型
- 2019郑州大学计算机专业分数线,2019年郑州大学优势专业排名及分数线
- Excel批量把数字格式变成文本格式且不用双击出现左上绿标