提交 21d89c85 编写于 作者: F feilong

fix bug

上级 d3c3696c
# 安装 kubectl
kubectl 是用来与 Kubernetes 集群通讯的命令行工具。通过 Kubectl 可以在 Kubernetes 集群上完成如下操作:
* 部署和管理应用
* 查看资源信息
* 删除和更新组件
......@@ -14,11 +15,13 @@ kubectl 适配了不同操作系统不同指令架构的安装版本
以在 MacOS 上安装 Kebuctl 为例,执行命令:
针对 Intel 芯片:
```bash
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
```
针对 Apple 芯片:
```bash
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
```
......
......@@ -40,7 +40,8 @@ spec:
- containerPort: 1024
```
通过一组操作来部署和查看状态
通过一组操作来部署和查看状态:
* 使用命令 `kubectl create -f k8s.deployment.yaml` 部署到 k8s 集群,“部署” 本身被当一种资源创建过程
* 使用命令 `kubectl get deployments` 查看部署情况
* 使用命令`kubectl rollout status deployment/cloud-native-hello-py`查看状态。
......
......@@ -16,6 +16,7 @@ Pod是一个或多个容器的组合,这些容器共享存储、网络和命
ReplicaSet 的信息解释:
* NAME:ReplicaSet 名字
* DESIRED:需要的 pod 副本个数
* CURRENT:当前运行的 pod 副本个数
......@@ -23,6 +24,7 @@ ReplicaSet 的信息解释:
* AGE:运行开始到现在的时间
Pod的列信息大同小异:
* NAME: 名字
* READY: 就绪状态
* STATUS: 运行状态
......
......@@ -2,7 +2,8 @@
在生产环境上,例如 centos linux系统上,使用 kubelet, kubectl, kubeadm 三件套可以部署 k8s 集群。
cenos 上安装 k8s 步骤如下
cenos 上安装 k8s 步骤如下:
* 安装 docker
* 安装 kubelet, kubectl, kubeadm
* 使用 kubeadm 初始化集群
......
# k8s 基础组件介绍
到目前为止,我们从 k8s 命令行安装和操作的角度理解到了 k8s 的很多基本概念:
* 容器(docker)里可以跑代码
* pod 可以管理容器(docker)
* ReplicaSet 可以管理多 pod
......@@ -9,11 +10,13 @@
* k8s的集群节点分 control-plane 和 worker 两种节点
我们也掌握了安装 k8s 的概念
* kubectl 可以用来和 k8s 集群通讯,是 k8s 的命令行客户端
* 使用 minikube/kind 可以创建学习环境 k8s 集群
* 使用 kubeadm 可以创建生产环境 k8s
现在,我们简要介绍下 k8s 的核心组件
* etcd : 实现了raft分布式一致性协议的元数据存储
* apiserver: 提供了元数据读写 etcd 的api
* Controller Manager : 集群内部的控制管理中心
......
# k8s 设计理念
以下关于k8s设计说法正确的是?
a. 所有API应该是声明式的
b. API对象是彼此互补而且可组合的
c. 高层API以操作意图为基础设计
d. 低层API根据高层API的控制需要设计
e. 尽量避免简单封装,不要有在外部API无法显式知道的内部隐藏的机制
f. API操作复杂度与对象数量成正比
g. API对象状态不能依赖于网络连接状态
h. 尽量避免让操作机制依赖于全局状态,因为在分布式系统中要保证全局状态的同步是非常困难的
1. 所有API应该是声明式的
2. API对象是彼此互补而且可组合的
3. 高层API以操作意图为基础设计
4. 低层API根据高层API的控制需要设计
5. 尽量避免简单封装,不要有在外部API无法显式知道的内部隐藏的机制
6. API操作复杂度与对象数量成正比
7. API对象状态不能依赖于网络连接状态
8. 尽量避免让操作机制依赖于全局状态,因为在分布式系统中要保证全局状态的同步是非常困难的
## 答案
......@@ -18,12 +19,12 @@ h. 尽量避免让操作机制依赖于全局状态,因为在分布式系统
### A
b,c,d,e,f,g,h
2,3,4,5,6,7
### B
a,b,c,d,e,f,g
1,2,3,4,5
### C
a,b,c,d,e,f,g,h
1,2,3,5,8
# 安装 helm
Linux系统上有包管理软件
Linux系统上有包管理软件:
* 例如 centos 上有 yum
* 例如 ubuntu 上有 apt-get
Mac系统上有包管理软件
Mac系统上有包管理软件:
* 例如 brew
Windows 上也有可用的包管理软件
Windows 上也有可用的包管理软件:
* 例如 scoop
* 例如 choco
......
# helm三大概念(Chart、Repository、Release)
helm 通过三大概念来管理 k8s 上的包
helm 通过三大概念来管理 k8s 上的包:
* Chart:Chart 代表着 helm 包。它包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。
* Repository:是 chart 的存储库。例如:https://charts.bitnami.com/bitnami
* Release:Release 是运行在 Kubernetes 集群中的 chart 的实例。一个 chart 通常可以在同一个集群中安装多次。每一次安装都会创建一个新的 release。以 MySQL chart为例,如果你想在你的集群中运行两个数据库,你可以安装该chart两次。每一个数据库都会拥有它自己的 release 和 release name。
......
......@@ -7,11 +7,13 @@ helm repo add istio https://istio-release.storage.googleapis.com/charts
```
其次,创建一个k8s namespace:
```bash
kubectl create namespace istio-system
```
接着,安装istio到k8s集群
接着,安装istio到k8s集群:
```bash
helm install istio-base istio/base -n istio-system
```
......
......@@ -2,11 +2,13 @@
Terraform 是一个高度可扩展的工具,通过 Provider 来支持新的基础架构。Terraform能够让您在云上轻松使用 简单模板语言 来定义、预览和部署云基础结构。您可以使用Terraform来创建、修改、删除ECS、VPC、RDS、SLB等多种资源。
可以从两个方面来简化理解
可以从两个方面来简化理解:
* Terraform 采用声明式方式配置基础架构设置
* Terraform 提供了对规范的基础架构配置的命令行操作
Terraform 对基础架构的管理3个步骤
Terraform 对基础架构的管理3个步骤:
* Write: 编写基础架构的配置
* Plan: 对配置进行校验
* Apply: 将配置在多云上实施、生效
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册