[验证] 让我们一起开始Kubernetes的学习 [通过使用minikube和教程来实践]
开始
许多公司已经开始采用并成为潮流的是学习 Kubernetes。
这篇论文的主旨即为上述内容。
虽然官方文件和其他技术博客上已经充斥着关于Kubernetes是什么的信息,我认为该信息已经非常丰富了。
因此,在这里,我想分享一下为了对初学者和初级工程师以及为了我自己的学习,我是如何推荐学习的。
// 有关专家辩论的参考文章
专家讨论了Kubernetes的顶级趋势和运维问题

■ 目标读者
-
- Kubernetes未経験者
-
- 初級エンジニア
- 私自身 (Input/Outputしながら進めることで学習効率を上げたい)
■ 文件
根据下面的信息,我打算以试读的形式进行推进。
官方文件
https://kubernetes.io/docs/home/
※也有仔细整理的日文版
以下是 GitHub 上的存储库:
https://github.com/kubernetes/kubernetes
※有关可能有用的提示信息。还公开了一些架构图。
■ 学习方式
浏览一下文档,我发现包含了许多云服务和开源软件提供的功能。然而,由于信息太多,很难想象,因此我想在实际操作中学习。幸运的是,官方提供了验证工具,下面就是 minikube。

开始之前
首先,我认为最让人困惑的是 Kubernetes 的发音和读法。
在以下引用的文章中,提到了开发团队成员们在推特上是如何称呼它,并且还提供了实际发音的视频,我决定依照它们的发音(按照我听到的那样)。
引用: シラベタ-「Kubernetes」的正确发音方式
■ 开始验证
01. 准备验证环境
下面是一个选项的中文释义:歌德,我现在将按照minikube官方文档进行操作。它以教程形式编写,非常易于上手。链接:https://minikube.sigs.k8s.io/docs/start/
环境
Host OSWindows 10(64bit)VMVirtualBox(6.1.22)
很多人可能会在家中的环境下容易地准备好,我在这里尝试了一下。
※请适时尝试引入VirtualBox。
■ 02. 在Windows上安装minikube
有三种方法可供选择,但由于其中两种方法尚未安装包管理器,因此我采用了”minikube-installer.exe”进行安装。下面是安装后的确认结果。
PS C:\Users\Mitzi> minikube version
minikube version: v1.20.0
commit: c61663e942ec43b20e8e70839dcca52e44cd85ae
■ 03. 启动Kubernetes集群
PS C:\Users\Mitzi> minikube start
* Microsoft Windows 10 Home 10.0.18363 Build 18363 上の minikube v1.20.0
* virtualboxドライバーが自動的に選択されました
* VM ブートイメージをダウンロードしています...
> minikube-v1.20.0.iso.sha256: 65 B / 65 B [-------------] 100.00% ? p/s 0s
> minikube-v1.20.0.iso: 245.40 MiB / 245.40 MiB [] 100.00% 9.77 MiB p/s 25s
* コントロールプレーンのノード minikube を minikube 上で起動しています
* Kubernetes v1.20.2 のダウンロードの準備をしています
> preloaded-images-k8s-v10-v1...: 491.71 MiB / 491.71 MiB 100.00% 8.78 MiB
* virtualbox VM (CPUs=2, Memory=2200MB, Disk=20000MB) を作成しています...\ # このタイミングでVirtualBox Interfaceへの変更許可を求められる(2回)
* Docker 20.10.6 で Kubernetes v1.20.2 を準備しています...
- Generating certificates and keys ...
- Booting up control plane ...
- Configuring RBAC rules ...
* Kubernetes コンポーネントを検証しています...
- Using image gcr.io/k8s-minikube/storage-provisioner:v5
* 有効なアドオン: default-storageclass, storage-provisioner
* kubectl not found. If you need it, try: 'minikube kubectl -- get pods -A'
* Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

04. 试一试闪亮的簇簇。
从公式中得知:
如果你已经安装了kubectl,你现在可以使用它来访问你辉煌的新集群。
通过minikube.exe,检查虚拟机中pod的状态。
PS C:\Users\Mitzi> minikube kubectl -- get po -A
> kubectl.exe.sha256: 64 B / 64 B [----------------------] 100.00% ? p/s 0s
> kubectl.exe: 39.52 MiB / 39.52 MiB [---------] 100.00% 11.69 MiB p/s 3.6s
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-74ff55c5b-xjpmp 1/1 Running 0 28m
kube-system etcd-minikube 1/1 Running 0 29m
kube-system kube-apiserver-minikube 1/1 Running 0 29m
kube-system kube-controller-manager-minikube 1/1 Running 0 29m
kube-system kube-proxy-92wbf 1/1 Running 0 28m
kube-system kube-scheduler-minikube 1/1 Running 0 29m
kube-system storage-provisioner 1/1 Running 1 29m
※补充说明
– kubelctl 被存储在以下本地文件夹中。似乎使用了这个路径。
C:\ Users \ Mitzi \ .minikube \ cache \ windows \ v1.20.2 \ kubectl.exe
04-2. 安装kubectl
根据官方步骤获取最新版的kubectl,并进行了相似的验证。
https://kubernetes.io/docs/tasks/tools/
a) 获取最新版本的 kubectl.exe
PS C:\Users\Mitzi\Downloads> curl -LO https://dl.k8s.io/release/v1.21.0/bin/windows/amd64/kubectl.exe
↓ "-LO" のパラメータは使えないと警告がでる。 実体は下記コマンドになるため下記のように対応
PS C:\Users\Mitzi\Downloads> Invoke-WebRequest -Uri https://dl.k8s.io/release/v1.21.0/bin/windows/amd64/kubectl.exe -OutFile ./kubectl.exe
b) 檢查校驗文件以確認是否成功下載
根據文件仔細處理並遵從。學習中。
PS C:\Users\Mitzi\Downloads> curl https://dl.k8s.io/v1.21.0/bin/windows/amd64/kubectl.exe.sha256 -o ./kubectl.exe.sha256
比较哈希值
PS C:\Users\Mitzi\Downloads> CertUtil -hashfile kubectl.exe SHA256
SHA256 ハッシュ (対象 kubectl.exe):
9f77c0198c15b3b7f051cd4a58fb40941ade04c7d0b30c889aec64b8f4a57ed1
PS C:\Users\Mitzi\Downloads> type kubectl.exe.sha256
9f77c0198c15b3b7f051cd4a58fb40941ade04c7d0b30c889aec64b8f4a57ed1
好的/好吧
顺便说一句,在一行代码中,我确认了如下所示的内容。
PS C:\Users\Mitzi\Downloads> $($(CertUtil -hashfile .\kubectl.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl.exe.sha256)
True
c) 登録到PATH环境变量
·手动将kubectl.exe注册到PATH环境变量中,然后确认如下所示反映。
PS C:\Users\Mitzi> $ENV:path.split(";") | Select-String Kubernetes
-----
C:\Program Files\Kubernetes\Minikube
C:\Program Files\Kubernetes\bin <- minikubeに合わせて、当該フォルダ配下にkubectl.exeを格納したためコチラを設定
d) 验证执行命令并确认版本
PS C:\Users\Mitzi> kubectl version --client
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:31:21Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"windows/amd64"}
确认它是最新版
e) 再次通过kubectl命令直接访问闪耀的集群并显示pod信息。
PS C:\Users\Mitzi> kubectl get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-74ff55c5b-xjpmp 1/1 Running 0 10h
kube-system etcd-minikube 1/1 Running 0 10h
kube-system kube-apiserver-minikube 1/1 Running 0 10h
kube-system kube-controller-manager-minikube 1/1 Running 0 10h
kube-system kube-proxy-92wbf 1/1 Running 0 10h
kube-system kube-scheduler-minikube 1/1 Running 0 10h
kube-system storage-provisioner 1/1 Running 1 10h
kubernetes-dashboard dashboard-metrics-scraper-f6647bd8c-dmcbn 1/1 Running 0 9h
kubernetes-dashboard kubernetes-dashboard-968bcb79-68sph 1/1 Running 0 9h
由于完成了后续提到的Dashboard的启动,因此显示增加如上所述。
04-3. 启动仪表板
PS C:\Users\Mitzi> minikube dashboard
* ダッシュボードを有効化しています...
- Using image kubernetesui/dashboard:v2.1.0
- Using image kubernetesui/metrics-scraper:v1.0.4
* ダッシュボードの状態を確認しています...
* プロキシを起動しています...
* プロキシの状態を確認しています...
* Opening http://127.0.0.1:51281/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...

以下是从公式文档中获取的链接:
https://minikube.sigs.k8s.io/docs/handbook/dashboard/
据说可以通过GUI进行滚动更新和管理Pod。
04-4. 仪表板停止工作。
停止代理服务器(保持控制面板运行),中止已启动的进程(按下Ctrl+C)
In Chinese:
驾驶手册中也有详细说明急刹车的方法。建议紧急刹车时立即踩下刹车踏板。激进式。
■ 到目前为止的总结
我会准备一个验证环境,并初步了解Kubernetes的功能。我希望在以后的学习中继续参考文档进行验证。