当前位置: 首页 > 后端技术 > Java

通过gcloud创建GoogleKubernetesEngine(GKE)并通过kubectl访问

时间:2023-04-02 01:31:15 Java

1简介GKE(GoogleKubernetesEngine)是一个K8s平台,我们可以使用gcloud创建GKE集群。在开始之前,请查看:《初始化一个GCP项目并用gcloud访问操作》。2创建GKE集群2.1开启API创建集群前需要开启GoogleAPI,否则无法操作:$gcloudservicesenablecompute.googleapis.com$gcloudservicesenablecontainer.googleapis.com2.2有很多创建K8s集群的节点机器类型多种多样,可以查看某个区域有哪些机器类型可用:$gcloudcomputemachine-typeslist|grepus-west在这里我选择了一个便宜的:n1-standard-1。使用gcloudcontainerclusterscreate来创建:$gcloudcontainerclusterscreatepkslow-k8s\--zoneus-west1-a\--cluster-version1.20.10-gke.1600\--machine-typen1-standard-1WARNING:目前VPC-native并不是集群创建时的默认模式。将来,这将成为默认模式,可以使用--no-enable-ip-alias标志禁用。使用`--[no-]enable-ip-alias`标志来抑制此警告。警告:从1.18版开始,集群将默认屏蔽GKE节点。警告:您的Pod地址范围(`--cluster-ipv4-cidr`)最多可以容纳1008个节点。警告:从1.19版开始,当未指定图像类型时,新创建的集群和节点池将使用COS_CONTAINERD作为默认节点图像。在us-west1-a中创建集群pkslow-k8s...完成。创建[https://container.googleapis.com/v1/projects/pkslow/zones/us-west1-a/clusters/pkslow-k8s]。要检查集群的内容,请访问:https://console.cloud.google.com/kubernetes/workload_/gcloud/us-为pkslow-k8s.NAMELOCATIONMASTER_VERSIONMASTER_IPMACHINE_TYPENODE_VERSIONNUM_NODESSTATUSpkslow-k8sus-west1-a1.20.10-gke.160034.82.42.67n1-standard-11.20生成的west1-a/pkslow-k8s?project=pkslowkubeconfig条目。10-gke.16003RUNNING查看日期,建议构建成功2.3通过命令行访问创建成功后,查看对应的版本号和节点:$kubectlversionClientVersion: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"}服务器版本:version.Info{主要:“1”,次要:“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"}$kubectlgetnodeNAMESTATUSROLESAGEVERSIONgke-pkslow-k8s-default-pool-4743a88e-175cReady<无>59sv1.20.10-gke.1600gke-pkslow-k8s-default-pool-4743a88e-71l6Ready58sv1.20.10-gke.1600gke-pkslow-k8s-default-pool-4743a88e-9wn2Ready59sv1.20.10-gke.1600SDK已经自动为我们创建了k8s上下文并下载了证书。所以可以直接访问:$kubectlconfigget-contextsCURRENTNAMECLUSTERAUTHINFONAMESPACEdocker-desktopdocker-desktopdocker-desktop*gke_pkslow_us-west1-a_pkslow-k8sgke_pkslow_us-west1-a_pkslow-k8s如果没有对应的gke_pkslow_us-west1-a_pk可以重新获取权限:$gcloudcontainerclustersget-credentialspkslow-k8s--zone=us-west1-a查看所有Pod:$kubectlgetpod-ANAMESPACENAMEREADYSTATUSRESTARTSAGEkube-systemevent-exporter-gke-67986489c8-2lvtj2/2运行04m14skube-systemfluentbit-gke-6xdgs2/2Running03m59skube-systemfluentbit-gke-92swm2/2运行03m58skube-systemfluentbit-gke-xrj9q2/2运行03m59skube-systemgke-metrics-agent-9z2m21/1运行03m59skube-systemgke-metrics-agent-f5kj21/1运行03m59skube-systemgke-metrics-agent-jwsnk1/1运行03m58skube-systemkonnectivity-agent-686dbcf84c-852jd1/1运行03m28skube-systemkonnectivity-agent-686dbcf84c-sx8rk1/1运行04m9skube-systemkonnectivity-agent-686dbcf84c-vz68j1/1运行03m29skube-systemkonnectivity-agent-autoscaler-6cb774c9cc-j6s2t1/1运行04m9skube-systemkube-dns-autoscaler-844c9d9448-t545t1/1运行04m9skube-systemkube-dns-b4f5c58c7-psxrv4/4运行04m10skube-systemkube-dns-b4f5c58c7-v7phb4/4运行03m34skube-proxy-systemkube-gke-pkslow-k8s-default-pool-4743a88e-175c1/1运行02m34skube-systemkube-proxy-gke-pkslow-k8s-default-pool-4743a88e-71l61/1运行03m53skube-systemkube-proxy-gke-pkslow-k8s-default-pool-4743a88e-9wn21/1运行02m56skube-systeml7-default-backend-56cb9644f6-5qzsr1/1运行04m15skube-systemmetrics-server-v0.3.6-9c5bbf784-xrksq2/2运行03m19skube-systempdcsi-node-7d7gp2/2运行03m58skube-systempdcsi-node-cx4dp2/2Running03m59skube-systempdcsi-node-zz2hv2/2Running03m59s2.4通过console访问,我们可以在GCP控制台上查看,比较方便:可以像Deployment,DaemonSet一样查看:GCP提供Metrics,可以查看CPU、内存、硬盘等信息,当然还有日志:3虚拟机创建GKE集群时,每个节点对应一个虚拟机,可以在ComputeEngine上查看:当然,你也可以使用命令gcloud查看它:$gcloudcomputeinstanceslistNAMEZONEMACHINE_TYPEPREEMPTIBLEINTERNAL_IPEXTERNAL_IPSTATUSgke-pkslow-k8s-default-pool-4743a88e-175cus-west1-an1-standard-110.138.0.334.105.xx.xxxdefaulte8RUNNINGgkelow-4-8-pks-71l6us-west1-an1-standard-110.138.0.235.247.xx.xxx正在运行gke-pkslow-k8s-default-pool-4743a88e-9wn2us-west1-an1-standard-110.138.0.435.199.xx。xxxRUNNING如果想进机器查看问题,可以直接sshin:$gcloudcomputesshgke-pkslow-k8s-default-pool-4743a88e-175c--zone=us-west1-a日志也是非常方便查看:4使用后删除集群,记得删除集群以免浪费:$gcloudcontainerclustersdeletepkslow-k8s--zoneus-west1-a