要学习 DevOps 的进阶技术,Kubernetes 概念必不可少,但在本地端安装 Kubernetes 的过程相对繁琐,使用上也因为网路资源等问题而较为麻烦,今天就透过 GCP 上的 Kubernetes 服务,来轻松快速搭起 k8s 环境。
Kubernetes(k8s) 是由 Google 开发的开源系统,用於自动部属、扩展及管理容器化应用程序,目的是为了降低管理计算资源、网路等基础资源所造成的负担,让使用者把重点放在容器的维运设置。举一些使用 Kubernetes 带来的好处
了解了 Kubernetes 後要如何开始呢 ? 这里介绍如何建置 Kubernetes 环境的各种方法
个人电脑: 使用 minikube
可以在本地快速架起一个 k8s 环境
VM 丛集: 若想要在多台服务器上安装,可以使用 kubeadm
的方式
线上 Lab : Docker提供了 Play with Kubernetes 的 k8s Lab,只要使用 Github 或 Docker 帐号就能登入
云端服务: GKE、EKS 等等,只要下个指令就能快速建立 k8s 丛集
透过 Google Kubernetes Engine 服务,就可以轻松部属、管理 Kubernetes,下面就来学习如何使用。
进入 GCP 网站
点击console左上角 -> Kubernetes Engine
开启後就能使用 GKE 了,我们使用 Cloud Shell 来操作。
进入 Cloud Shell 网站,点击终端机输入指令
列出所有的 project ,找到之前所创建专案的 PROJECT_ID
gcloud projects list
PROJECT_ID
成功开启了专案的 Terminal,从这里就能对专案进行操作。
gcloud config set compute/zone <zone>
设定计算资源预设地区gcloud config set compute/zone asia-east2-a
gcloud container clusters create <name>
建立 K8s clustergcloud container clusters create lab
(输出结果)
Creating cluster lab in asia-east2-a...done.
Created [https://container.googleapis.com/v1/projects/ninth-bonito-324214/zones/asia-east2-a/clusters/lab].
To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/asia-east2-a/lab?project=ninth-bonito-324214
kubeconfig entry generated for lab.
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS
lab asia-east2-a 1.20.9-gke.701 34.92.107.113 e2-medium 1.20.9-gke.701 3 RUNNING
预设会建立3台 2CPU、4G 记忆体的 VM,有着不小的费用支出,若你担心会超过免费用量,可以随时到帐单查看你剩余额度。
接着用gcloud
将 credentials 移动到 Cloud Shell 里来取得丛集验证,我们就能用 Kubectl
命令行工具对 k8s 丛集进行操作。
gcloud container clusters get-credentials lab
(输出结果)
Fetching cluster endpoint and auth data.
kubeconfig entry generated for lab.
完成後就能使用kubectl
了。
kubectl get nodes
(输出结果)
NAME STATUS ROLES AGE VERSION
gke-lab-default-pool-9638ad20-l69n Ready <none> 7m50s v1.20.9-gke.701
gke-lab-default-pool-9638ad20-tnlg Ready <none> 7m50s v1.20.9-gke.701
gke-lab-default-pool-9638ad20-x3jm Ready <none> 7m50s v1.20.9-gke.701
今天成功的架起了 Kubernetes 环境,在之後几天中我们就会对 k8s 的各式元件做介绍。
<<: Day 11 Arbitrary attributes
>>: Trouble with Distributed Systems (3-2) - Unreliable Clocks
大家好我是长风青云。今天是铁人赛21天。我们算是半只脚踏入演算法的阶段。(因为Sort的部分DS和A...
在前面,我有稍微带到 Apache NiFi 的性质与特点,但除了了解这些之外,我们也要清楚知道这个...
在有线网路应用(二)的应用中,使用树莓派当成主路由,乙太网路线为WAN,WIFI为LAN的布局。不过...
终於撑到了铁人赛的最後一天,这是我第一次参加铁人赛,会参赛的原因是因为在暑假的时候参与了社群活动,然...
太鼓达人 教学原文参考:太鼓达人 这篇文章会大量使用「阵列」的操作,搭配「变数」、「逻辑判断」、「点...