集群 & 云取多个节点和你的控制平面 , 你就有了一个集群 。
取多个集群,你可以分隔你的开发、测试和生产环境 , 或者团队、项目或不同类型的应用程序 - 这取决于你 。
再进一步,尝试进行多云 Kubernetes,跨越不同的私有和/或公有云平台运行多个集群(祝贺!你所取得的成就绝非易事 。)
扩展还有许多Kubernetes 扩展 。
最重要的是,对于开发人员来说,有一个Web UI/Dashboard,你可以使用它来基本管理你的集群 。
如果你没有自托管你的 Kubernetes 设置,你可以简单地使用云供应商提供的任何 UI,比如google Cloud、AWS或其他众多云供应商提供的 UI 。
请,让我们停止 Kubernetes 101上面的那四个 101 部分将(希望)为你提供足够的心智模型,让你开始使用 Kubernetes,我们将在概念上结束 。
说实话,如果你在https://learning.oreilly.com上搜索 "Kubernetes" , 你会感到震惊 。你将获得成千上万的学习资源结果,其中许多书籍都超过 500 页长 。这对于一个下雨天的冬天是很好的阅读!好消息是:作为开发人员,你不必关心这些书中大多数内容 , 这些书教你如何设置、维护和管理你的集群,尽管了解所有这些的复杂性是有帮助的 。
我需要做什么才能看到所有这些在运行中的情况?
- Kubernetes 安装(我们稍后会更详细地讨论)
- YAML , YAML,YAML!
- 与你的 Kubernetes 集群交互的工具:kubectl
我如何读 kubectl?†参见https://www.YouTube.com/watch?v=9oCVGs2oz28 。它的发音是 "Kube Control" 。
kubectl 要如何工作?你需要一个配置文件,一个名为 kubeconfig 的文件,它允许你访问你的 Kubernetes 集群 。
默认情况下,该文件位于~/.kube/config 。值得注意的是,这个配置文件也被你喜爱的集成开发环境(如IntelliJ IDEA)读取 , 以正确设置其 Kubernetes 功能 。
我从哪里获取 kubeconfig 文件?选项 1如果你正在使用托管的 Kubernetes 安装(EKS、GKE、AKS),请查看相应的文档页面 。是的,只需点击链接,我已经为你链接到正确的页面 。简而言之,你将使用它们的 CLI 工具为你生成/下载该文件 。
选项 2如果你本地安装了Minikube,它将自动为你创建一个 kubeconfig 文件 。
选项 3如果你碰巧知道你的 Kubernetes 主节点并可以通过 SSH 登录,运行:cat /etc/kubernetes/admin.conf或cat ~/.kube/config
kubeconfig 文件还有其他需要知道的吗?一个 kubeconfig 文件由传统的 YAML 组成 , 它可以包含许多内容(clusters、users、contexts) 。对于有兴趣的人,请查阅官方文档 。
目前 , 我们可以忽略 users 和 contexts,并且简化为 kubeconfig 文件包含你可以连接的集群 , 例如development或test 。
以下是一个示例 kubeconfig 文件,摘自官方 Kubernetes 文档 。
(别担心,你不必逐行理解这个文件,它只是为了让你感受一下这些文件的样子)
apiVersion: v1clusters:- cluster:certificate-authority: fake-ca-fileserver: https://1.2.3.4name: development- cluster:insecure-skip-tls-verify: trueserver: https://5.6.7.8name: testcontexts:- context:cluster: developmentnamespace: frontenduser: developername: dev-frontend- context:cluster: developmentnamespace: storageuser: developername: dev-storage- context:cluster: testnamespace: defaultuser: experimentername: exp-testcurrent-context: ""kind: Configpreferences: {}users:- name: developeruser:client-certificate: fake-cert-fileclient-key: fake-key-file- name: experimenteruser:# Documentation note (this comment is NOT part of the command output).# Storing passwords in Kubernetes client config is risky.# A better alternative would be to use a credential plugin# and store the credentials separately.# See https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-pluginspassword: some-passwordusername: exp
Kubectl 101你现在可以用 Kubectl 做什么呢?记住,一开始我们说你的目标是拥有一个 Pod(n+ 个容器),并在节点(服务器)上调度它(运行它们) 。方法是将 yaml 文件(耶)带有集群期望状态的文件输入到 kubectl 中,它将愉快地将你的集群设置为期望的状态 。
Pod 清单例如,你可以创建一个名为marcocodes-pod.yaml的文件,内容如下…
推荐阅读
- Kubernetes是什么?主要特点是什么?
- AI如何改变我们的未来
- 电脑时间怎么自动校准?
- 到底什么是大模型?
- 大模型成长进入关键期,探究AI背后的算力战争
- 用于人工智能开发的主流编程语言都有哪些?
- 被誉为“林青霞的接班人”,沦落后为自己的“风流成性”买单
- 凯迪拉克安吉星送几年,凯迪拉克的xt5安吉星可以绑定几个
- 陈道明作为电影协会主席,影视界的领军人物,他的行政级别是什么?
- 什么的河道填动词 什么的河道