Google Kubernetes Engine 集群实战详解

目录
  • GKE 集群介绍
    • K8s 带来的好处
  • 使用 GKE 编排集群

GKE 集群介绍

Google Kubernetes Engine (GKE) 集群由 Kubernetes 开源集群管理系统提供支持。Kubernetes 为用户提供了与容器集群进行交互的机制。您可以使用 Kubernetes 命令和资源来部署和管理应用、执行管理任务、设置政策,以及监控您部署的工作负载的运行状况。

K8s 带来的好处

  • 自动管理
  • 对应用容器进行监控和活跃性探测
  • 自动扩缩
  • 滚动更新

Google Cloud 上的 Kubernetes 运行 GKE 集群时,您还可以获享 Google Cloud 提供的高级集群管理功能所带来的好处,其中包括:

  • 针对 Compute Engine 实例提供的负载平衡功能
  • 节点池(可用于在集群中指定节点子集以提高灵活性)
  • 自动扩缩集群的节点实例数量
  • 自动升级集群的节点软件
  • 节点自动修复,以保持节点的正常运行和可用性
  • 利用 Cloud Monitoring 进行日志记录和监控,让您可以清楚了解自己集群的状况

使用 GKE 编排集群

1.打开cloud shell,并设置project (如果默认连接成功则不需要)

gcloud config set project <Project ID>

2.设置默认计算可用区域

gcloud config set compute/zone  <Zone>

3.启动新的GKE集群,要耗时几分钟,耐心等待

gcloud container clusters create --machine-type=e2-medium lab-cluster

输出结果如下:

创建集群后,您需要身份验证凭据才能与其交互,所以接下来获取身份验证凭据。

4.获取用于集群的身份验证凭据

gcloud container clusters get-credentials lab-cluster

输出结果如下所示:

5.将应用部署到集群中

GKE 使用 Kubernetes 对象创建和管理集群的资源。Kubernetes 提供了 Deployment 对象,用以部署网络服务器等无状态应用。Service 对象则用于定义从互联网访问您的应用时需要遵循的规则和负载平衡机制。

kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0

输出结果如下所示:

此 Kubernetes 命令kubectl会创建一个代表 hello-server 的 Deployment 对象。在本例中,--image 指定了要部署的容器映像。该命令会从 Container Registry 存储分区中拉取示例映像。gcr.io/google-samples/hello-app:1.0 指定了要拉取的特定映像版本。如果未指定版本,则使用最新版本。

6.运行命令kubectl expose 以创建K8s Service

kubectl expose deployment hello-server --type=LoadBalancer --port 8080

在上面的命令中:

  • --port 指定了该容器公开的端口。
  • type="LoadBalancer" 表示为您的容器创建一个 Compute Engine 负载平衡器。

输出结果如下所示:

注意: 生成外部 IP 地址可能需要一分钟时间。如果 EXTERNAL-IP 列的状态为 pending,请再次运行上述命令。

7.运行 kubectl get 命令,以检查 hello-server Service:

kubectl get service

输出结果如下所示:

8.浏览器上访问http://[EXTERNAL-IP]:8080,会获取到如下信息

9.删除集群,可能需要几分钟的时间

gcloud container clusters delete lab-cluster 

以上就是Google Kubernetes Engine 集群实战详解的详细内容,更多关于Google Kubernetes Engine集群的资料请关注我们其它相关文章!

(0)

相关推荐

  • kubernetes集群搭建Zabbix监控平台的详细过程

    目录 一.zabbix介绍 1.zabbix简介 2.zabbix特点 3.zabbix的主要功能 4.zabbix架构图 二.检查本地k8s环境 1.检查系统pod运行状态 2.检查node节点状态 三.配置nfs共享存储 1.安装nfs 2.创建共享目录 3.配置共享目录 4.启动相关服务 5.使配置生效 6.查看nfs 7.其他节点检查nfs共享 四.安装zabbix-mysql 1.编写zabbix-mysql的yaml文件 2.创建命名空间 3.创建zabbix数据库 4.检查pod状

  • 配置Kubernetes外网访问集群

    查询 Service 关于 Service,读者可以查看官方文档的资料:https://kubernetes.io/zh/docs/concepts/services-networking/service/ Service 是 k8s 中为多个 pod 公开网络服务的抽象方法.在 k8s 中,每个 pod 都有自己的 ip 地址,而且 Service 可以为一组 pod 提供相同的 DNS ,使得多个 pod 之间可以相互通讯,k8s 可以在这些 pod 之间进行负载均衡. 查询 pod: ku

  • Minikube搭建Kubernetes集群

    Minikube 打开 https://github.com/kubernetes/minikube/releases/tag/v1.19.0 下载最新版本的二进制软件包(deb.rpm包),再使用 apt 或 yum 安装. 或者直接下载 minikube 最新版本二进制文件(推荐). curl -Lo minikube https://kubernetes.oss-cn-hangzhou.aliyuncs.com/minikube/releases/v1.19.0/minikube-linu

  • 在Kubernetes集群中搭建Istio微服务网格的过程详解

    目录 1.使用sealos部署快速部署K8S集群 1.1.基本环境配置 1.2.部署K8S集群 2.在K8S集群中部署Istio网格服务 2.1.下载Istio安装包 2.2.查看Istio可用的配置列表 2.3.展示Istio配置档的配置信息 2.4.查看Istio在k8s集群部署使用的YAML文件内容 1.使用sealos部署快速部署K8S集群 1.1.基本环境配置 1.设置主机名 hostnamectl set-hostname k8s-master hostnamectl set-hos

  • Kubernetes集群环境初始化

    概念 k8s/kubernetes容器化部署解决容器编排问题,kubernetes为容器编排软件的佼佼者kubernets为一组服务器集群 功能 自我修复 一个容器崩溃,另一个容器起来弹性伸缩 根据需要调整容器数量服务发现 自动发现的形式找到所需依赖负载均衡 一起分担流量版本回退 新版本有问题,立马回退到原来的版本存储编排 可以根据容器自身的需求自动创建存储卷.... k8s组件 k8s为控制节点 和 工作节点组成.master节点的组件负责集群的管理ApiServer:资源操作的唯一路口 接受

  • Dashboard管理Kubernetes集群与API访问配置

    目录 Kubectl 命令大全 安装 Kubernetes-Dashboard RESTful API 鉴权 注解 Pod YAML 结构 配置 Kubectl 命令大全 下面列出了 kubectl 的所有命令以及其缩写形式,供翻阅查询. kubectl 命令格式: kubectl [command] [type] [Name] [flag] all events (ev) podsecuritypolicies (psp) certificatesigningrequests (csr) ho

  • Google Kubernetes Engine 集群实战详解

    目录 GKE 集群介绍 K8s 带来的好处 使用 GKE 编排集群 GKE 集群介绍 Google Kubernetes Engine (GKE) 集群由 Kubernetes 开源集群管理系统提供支持.Kubernetes 为用户提供了与容器集群进行交互的机制.您可以使用 Kubernetes 命令和资源来部署和管理应用.执行管理任务.设置政策,以及监控您部署的工作负载的运行状况. K8s 带来的好处 自动管理 对应用容器进行监控和活跃性探测 自动扩缩 滚动更新 Google Cloud 上的

  • redis集群规范详解

    本文档翻译自 http://redis.io/topics/cluster-spec . 引言 这个文档是正在开发中的 Redis 集群功能的规范(specification)文档, 文档分为两个部分: 第一部分介绍目前已经在 unstable 分支中实现了的那些功能. 第二部分介绍目前仍未实现的那些功能. 文档各个部分的内容可能会随着集群功能的设计修改而发生改变, 其中, 未实现功能发生修改的几率比已实现功能发生修改的几率要高. 这个规范包含了编写客户端库(client library)所需的

  • python连接mongodb集群方法详解

    简单的测试用例 #!/usr/bin/python # -*- coding: UTF-8 -*- import time from pymongo import MongoClient # 连接单机 # single mongo # c = MongoClient(host="192.168.89.151", port=27017) # 连接集群 c = MongoClient('mongodb://192.168.89.151,192.168.89.152,192.168.89.1

  • sentinel支持的redis高可用集群配置详解

    目录 一.首先配置redis的主从同步集群 二.sentinel高可用 一.首先配置redis的主从同步集群 1.主库的配置文件不用修改,从库的配置文件只需增加一行,说明主库的IP端口.如果需要验证的,也要加多一行,认证密码. slaveof 192.168.20.26 5268 masterauth hodge01 一主多从的话,就启用多个从库.其中,从库都是一样的方案.本次有两个slave. 2.命令检查 /usr/local/redis/bin/redis-cli -p 5257 -a h

  • Docker如何使用nginx搭建tomcat集群(图文详解)

    首先创建tomcat的文件夹 ,为了方便docker的配置 我这里直接在根目录中创建第一步:创建文件夹:发布文件夹 mkdir -p /docker/tomcat/webapp8081 mkdir -p /docker/tomcat/webapp8082 mkdir -p /docker/tomcat/webapp8083 第二步:创建Tomcat容器(端口 可以根据自己的实际更换) docker run -d --name tomcat8081 -p 8081:8080 -v /docker/

  • MongoDB分片集群部署详解

     一.环境说明 1.我们prod环境MongoDB的集群架构是做的分片集群的部署,但是目前我们没有分片,即所有数据都在一个分片上,后期如果数量大,需要分配,集群随时可以分片,对业务方透明 2.各个角色的部署情况 角色 IP 端口 复制集名称 mongos 172.21.244.101,172.21.244.102,172.21.244.94 27000 无 config server 172.21.244.101,172.21.244.102,172.21.244.94 27100 repl_c

  • Redis三种集群模式详解

    目录 三种集群模式 一.主从复制 1.reids主从模式 2.redis复制原理 3.redis主从复制原理 4.redis主从复制优缺点 二.Sentinel 哨兵模式 1.Sentinel系统 2.Sentinel故障转移 2.1.Sentinel 哨兵监控过程 2.2.Sentinel 哨兵故障转移 3.Sentinel 哨兵优缺点 三.cluster 模式 1.reids cluster 2.Redis Cluster 数据分片原理 3.Redis Cluster 复制原理 4.redi

  • Redis高可用集群redis-cluster详解

    哨兵模式主要解决了手动切换主从节点的问题 1 , 哨兵模式的缺陷 .主从节点切换的时候存在访问瞬断,等待时间较长, .只有一个master节点提供写,slave节点提供读,尽管写的效率是10万/秒,在电商大促时,写的压力全部集中在master节点上. .master节点的内存不能设置的太大,否则持久化文件过大,影响主从同步 2,redis-cluster集群模式 Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和

  • Linux Shell如何用ssh命令统计分布式集群信息详解

    目录 一.统计分布式集群信息的思路 二.SSH加密原理 三.SSH命令 四.利用ssh-keygen和ssh-copy-id 实现免密登录 五.Linux Shell 脚本实现 六.ssh只循环一次问题 总结 一.统计分布式集群信息的思路 用免密的远程登陆命令,实现一台机器访问其他集群的机器.因此想要实现有几个重要步骤: 学会shh的使用方法 实现免密登录 编写shell程序 二.SSH加密原理 非对称加密技术是一种加密和解密用的不同密钥的加密方法.其中RSA和DSA就是非对称加密方法.当然非对

  • Centos7 安装部署Kubernetes(k8s)集群实现过程

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4.1 环境介绍 4.2 配置节点的基本环境 4.3 节点安装docker,并进行相关配置 4.4 安装kubelet,kubeadm,kubectl 4.5 kubeadm初始化 4.6 添加worker节点到k8s集群 4.7 部署CNI网络插件calico 4.8 配置kubectl命令tab键自

随机推荐