search
HomeSystem TutorialLINUXFirst introduction to Google Kubernetes Engine (GKE)

First introduction to Google Kubernetes Engine (GKE)

Jul 20, 2024 am 10:52 AM
linuxlinux tutorialRed Hatlinux systemlinux commandlinux certificationred hat linuxlinux video

初识Google Kubernetes Engine(GKE)

But so far, there are very few cloud service providers that can provide k8s fully managed services. Even AWS, which is currently the dominant cloud provider, does not fully provide k8s managed services and only provides limited customized services. In this regard, It's not mature yet.

However, Google’s k8s hosting service, namely GKE, has taken k8s hosting service to the extreme (at least for now). It not only provides a full set of k8s hosting services, but what is even more striking is that Google has integrated Autoscaler and k8s to achieve With the automatic scaling mechanism of k8s nodes, nodes can be automatically added or deleted according to the needs of pods. When existing nodes cannot carry new services, nodes will be added automatically to meet demand. When existing nodes are idle enough, the adjustment mechanism will be enabled to automatically shrink. Node, in a sense, this almost achieves the concept of serverless.

However, this may be just the tip of the iceberg, and more powerful functions need to be further explored. This article is just an introductory guide, which mainly provides guidance to quickly get started with GKE services (k8s hosting services) based on Google Cloud Platform.

GKE Getting Started Guide

Next, we will provide step-by-step instructions on how to use GKE to deploy services. The premise is that you have some understanding of k8s and can simply use the kubectl command.

1. Install and configure Google Cloud SDK

Google Cloud SDK is a set of command line tools for accessing various resources on the GCP (Google Cloud Platform) platform, similar to the aws command line tool of aws.

Not much to say about installation and configuration. Click the link below to select the tar package of the corresponding operating system version to download, then unzip it and add google-cloud-sdk/bin to the PATH environment variable

2. Initialize Google Cloud SDK

Initializing the Google Cloud SDK is to bind the gcloud command to the Google account and set some other default values, such as region, proxy, account, project (new project in the Google account), etc.

Before executing gcloud init initialization, you must first configure the HTTP proxy (you know GFW) for gcloud. Please see my previous article for the specific configuration. Then execute gcloud init to complete the initialization and just follow the wizard.

3. Go to the Google Cloud Platform console to create a k8s cluster and remember the name
初识Google Kubernetes Engine(GKE)
4. Install gcloud kubectl component
gcloud components install kubectl 
5. Get the authentication credentials for the cluster

After creating the cluster, you need to obtain authentication credentials to interact with the cluster. To authenticate to the cluster, run the following command:

gcloud container clusters get-credentials  
6. Next deploy a simple hello-server service to GKE
kubectl run hello-server --image gcr.io/google-samples/hello-app:1.0 --port 8080
Related links
https://cloud.google.com/kubernetes-engine/docs/quickstart 
https://cloud.google.com/sdk/docs/quickstart-macos?hl=zh-cn
Appendix
gloud common commands
gcloud auth login --no-launch-browser # gcloud 登录认证
gcloud config set compute/zone [COMPUTE_ZONE] # 设置默认区域
gcloud components list # 列出可安装组件
gcloud components install [组件名称] # 安装组件
gcloud components update  # 更新所有已安装组件
gcloud components remove [组件名称] # 卸载已安装组件
设置 gcloud http 代理
gcloud config set proxy/type http
gcloud config set proxy/address 127.0.0.1
gcloud config set proxy/port 1087
设置集群 docker 私服认证
kubectl create secret docker-registry regcred --docker-server= --docker-username= --docker-password= --docker-email=

注意:设置 docker 私服后,要在 GKE 部署 k8s 服务,必须得在 k8s 资源文件(yaml 格式)中的 container
同一级指定 imagePullSecrets 键,要不然仍然无法拉取配置的私服的镜像,示例资源文件如下:

apiVersion: v1
kind: Pod
metadata:
  name: private-reg
spec:
  containers:
  - name: private-reg-container
    image: 
  imagePullSecrets:
  - name: regcred
查看集群 docker 私服配置
kubectl get secret regcred --output=yaml      #base64 格式 显示
kubectl get secret regcred --output="jsonpath={.data.\.dockerconfigjson}" | base64 -d # base64

The above is the detailed content of First introduction to Google Kubernetes Engine (GKE). For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How to learn Linux basics?How to learn Linux basics?Apr 10, 2025 am 09:32 AM

The methods for basic Linux learning from scratch include: 1. Understand the file system and command line interface, 2. Master basic commands such as ls, cd, mkdir, 3. Learn file operations, such as creating and editing files, 4. Explore advanced usage such as pipelines and grep commands, 5. Master debugging skills and performance optimization, 6. Continuously improve skills through practice and exploration.

What is the most use of Linux?What is the most use of Linux?Apr 09, 2025 am 12:02 AM

Linux is widely used in servers, embedded systems and desktop environments. 1) In the server field, Linux has become an ideal choice for hosting websites, databases and applications due to its stability and security. 2) In embedded systems, Linux is popular for its high customization and efficiency. 3) In the desktop environment, Linux provides a variety of desktop environments to meet the needs of different users.

What are the disadvantages of Linux?What are the disadvantages of Linux?Apr 08, 2025 am 12:01 AM

The disadvantages of Linux include user experience, software compatibility, hardware support, and learning curve. 1. The user experience is not as friendly as Windows or macOS, and it relies on the command line interface. 2. The software compatibility is not as good as other systems and lacks native versions of many commercial software. 3. Hardware support is not as comprehensive as Windows, and drivers may be compiled manually. 4. The learning curve is steep, and mastering command line operations requires time and patience.

Is Linux hard to learn?Is Linux hard to learn?Apr 07, 2025 am 12:01 AM

Linuxisnothardtolearn,butthedifficultydependsonyourbackgroundandgoals.ForthosewithOSexperience,especiallycommand-linefamiliarity,Linuxisaneasytransition.Beginnersmayfaceasteeperlearningcurvebutcanmanagewithproperresources.Linux'sopen-sourcenature,bas

What are the 5 basic components of Linux?What are the 5 basic components of Linux?Apr 06, 2025 am 12:05 AM

The five basic components of Linux are: 1. The kernel, managing hardware resources; 2. The system library, providing functions and services; 3. Shell, the interface for users to interact with the system; 4. The file system, storing and organizing data; 5. Applications, using system resources to implement functions.

Ubuntu Home Automation: Building a Smart Living Space with Open Source ToolsUbuntu Home Automation: Building a Smart Living Space with Open Source ToolsApr 05, 2025 am 09:19 AM

Opening a new chapter in smart home: Open source home automation system based on Ubuntu Smart home technology has revolutionized the way we interact with our living spaces, bringing convenience, safety and energy efficiency to our daily lives. From remote control of lights and appliances, to monitoring security cameras and automated climate control, smart home technology is becoming increasingly popular. However, many business smart home systems have limitations: high costs, privacy issues, and limited compatibility. Fortunately, open source software solutions combine the power of Ubuntu to provide an alternative – allowing users to create a customizable, cost-effective and secure smart home ecosystem. This guide will explore how to set up a home automation system using Ubuntu and open source tools.

Linux vs. Windows: What's the difference in 2025?Linux vs. Windows: What's the difference in 2025?Apr 05, 2025 am 09:05 AM

Linux vs. Windows: A 2025 Comparison Thinking about switching from macOS or Windows? Linux might be the answer. While macOS users will find a relatively smooth transition (due to macOS's UNIX core), Windows users will need to adapt. This guide hig

What is a Linux device?What is a Linux device?Apr 05, 2025 am 12:04 AM

Linux devices are hardware devices running Linux operating systems, including servers, personal computers, smartphones and embedded systems. They take advantage of the power of Linux to perform various tasks such as website hosting and big data analytics.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.