Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_cloud_native
提交
9fc631aa
S
skill_tree_cloud_native
项目概览
CSDN 技术社区
/
skill_tree_cloud_native
通知
14
Star
3
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_cloud_native
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
9fc631aa
编写于
3月 24, 2022
作者:
F
feilong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix bug
上级
afad3e79
变更
29
隐藏空白更改
内联
并排
Showing
29 changed file
with
70 addition
and
0 deletion
+70
-0
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/docker-image.md
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/docker-image.md
+1
-0
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_inspect.md
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_inspect.md
+1
-0
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_ls.md
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_ls.md
+1
-0
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_pull.md
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_pull.md
+1
-0
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_rm.md
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_rm.md
+5
-0
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container-kill.md
...原生初阶/1.容器(docker)/3.docker container 操作/container-kill.md
+3
-0
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container-run-bash.md
.../1.容器(docker)/3.docker container 操作/container-run-bash.md
+2
-0
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container.md
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container.md
+1
-0
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container_run.md
...云原生初阶/1.容器(docker)/3.docker container 操作/container_run.md
+3
-0
data/1.云原生初阶/1.容器(docker)/4.使用Dockerfile制作镜像/build_image.md
data/1.云原生初阶/1.容器(docker)/4.使用Dockerfile制作镜像/build_image.md
+3
-0
data/1.云原生初阶/1.容器(docker)/5.使用docker运行Python程序/pull_and_run.md
...1.云原生初阶/1.容器(docker)/5.使用docker运行Python程序/pull_and_run.md
+3
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/1.安装kubectl/install.md
data/1.云原生初阶/2.容器编排(学习环境 k8s)/1.安装kubectl/install.md
+3
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/install_minikube.md
...1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/install_minikube.md
+1
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/minikube_commnds.md
...1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/minikube_commnds.md
+1
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/start_k8s.md
data/1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/start_k8s.md
+3
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/get_info.md
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/get_info.md
+2
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/install_kind.md
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/install_kind.md
+3
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/start_k8s.md
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/start_k8s.md
+2
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/start_k8s_three_nodes.md
....云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/start_k8s_three_nodes.md
+2
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/4.kubectl查看和切换context/config_view.md
...生初阶/2.容器编排(学习环境 k8s)/4.kubectl查看和切换context/config_view.md
+4
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/create_deployment.md
...容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/create_deployment.md
+1
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/create_service.md
.../2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/create_service.md
+3
-0
data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/rs_pod.md
.../1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/rs_pod.md
+2
-0
data/1.云原生初阶/4.k8s包管理(helm)/1.安装helm/install.md
data/1.云原生初阶/4.k8s包管理(helm)/1.安装helm/install.md
+1
-0
data/1.云原生初阶/4.k8s包管理(helm)/3.使用helm安装mysql到k8s/install.md
data/1.云原生初阶/4.k8s包管理(helm)/3.使用helm安装mysql到k8s/install.md
+5
-0
data/1.云原生初阶/4.k8s包管理(helm)/4.使用helm部署Python应用/deploy.md
data/1.云原生初阶/4.k8s包管理(helm)/4.使用helm部署Python应用/deploy.md
+3
-0
data/1.云原生初阶/5.服务网格(istio)/1.ServiceMesh介绍/introduce.md
data/1.云原生初阶/5.服务网格(istio)/1.ServiceMesh介绍/introduce.md
+1
-0
data/1.云原生初阶/5.服务网格(istio)/2.安装istio/install.md
data/1.云原生初阶/5.服务网格(istio)/2.安装istio/install.md
+2
-0
data/1.云原生初阶/7.基础架构自动编排(Terraform)/2.Terraform命令行工具/install.md
...1.云原生初阶/7.基础架构自动编排(Terraform)/2.Terraform命令行工具/install.md
+7
-0
未找到文件。
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/docker-image.md
浏览文件 @
9fc631aa
...
...
@@ -13,6 +13,7 @@ docker image
可以看到所有的docker image 操作命令
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image.png)
<br/>
下面说法错误的是?
...
...
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_inspect.md
浏览文件 @
9fc631aa
...
...
@@ -13,6 +13,7 @@ docker image inspect hello-world
操作截图如下,可以看到镜像启动后会立刻执行的命令CMD:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image-inspect.png)
<br/>
请自己实际操作后回答问题:以下对
`docker image inspect`
输出结果描述错误的是?
...
...
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_ls.md
浏览文件 @
9fc631aa
...
...
@@ -13,6 +13,7 @@ docker image ls
操作截图如下,可以看到前一题拉取到的
`hello-world`
镜像:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image-ls.png)
<br/>
以下对
`docker image ls`
输出结果描述错误的是?
...
...
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_pull.md
浏览文件 @
9fc631aa
...
...
@@ -13,6 +13,7 @@ docker image pull library/hello-world
操作截图如下:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image-pull.png)
<br/>
以下从Docker Hub 拉取 ubuntu 镜像操作正确的是?
...
...
data/1.云原生初阶/1.容器(docker)/2.docker image 操作/image_rm.md
浏览文件 @
9fc631aa
...
...
@@ -13,6 +13,7 @@ docker image ls
截图如下,可以看到两个名字为
`<none>`
的镜像:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image-rm-ls.png)
<br/>
如果镜像没有被启动过,直接之下下面的命令能删除成功:
...
...
@@ -23,14 +24,17 @@ docker image rm 09d01ed9156b
如图所示:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image-rm-success.png)
<br/>
但是如果镜像被启动过,有可能出现错误信息:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image-rm-failed.png)
<br/>
红框的提示表示该镜像被启动过并且目前处于停止状态,我们可以通过
`docker ps`
命令查看被启动过的镜像状态
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image-rm-ps.png)
<br/>
可以看到,其中
...
...
@@ -46,6 +50,7 @@ docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
如图所示
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/2.docker image 操作/docker-image-rm-clear.png)
<br/>
以下说法错误的是?
...
...
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container-kill.md
浏览文件 @
9fc631aa
...
...
@@ -11,6 +11,7 @@ docker container ls
可以看到上一题运行的
`ubuntu`
容器的id
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container-kill-ls.jpg)
<br/>
现在,使用容器的id就可以杀死容器实例
...
...
@@ -21,10 +22,12 @@ docker container kill 2bba2dec1e97
命令执行的返回如图所示:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container-kill-action.jpg)
<br/>
而运行中的ubuntu docker 实例则被成功kill后退出:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container-kill-resp.jpg)
<br/>
以下描述错误的是?
...
...
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container-run-bash.md
浏览文件 @
9fc631aa
...
...
@@ -11,6 +11,7 @@ docker image pull library/ubuntu
下载 ubuntu 镜像成功
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container-run-bash-ubuntu.jpg.jpg)
<br/>
接着,启动container 并执行第一个程序
`bin/bash`
:
...
...
@@ -21,6 +22,7 @@ docker container run -it ubuntu bin/bash
可以看到成功进入了ubuntu容器实例的shell环境,并在shell环境里执行了
`ls`
和
`ll`
命令。
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container-run-bash-ubuntu-shell.jpg)
<br/>
以下描述错误的是?
...
...
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container.md
浏览文件 @
9fc631aa
...
...
@@ -11,6 +11,7 @@ docker container
如图所示:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container.jpg)
<br/>
以下描述错误的是?
...
...
data/1.云原生初阶/1.容器(docker)/3.docker container 操作/container_run.md
浏览文件 @
9fc631aa
...
...
@@ -23,6 +23,7 @@ docker image pull library/ubuntu
下载 ubuntu 镜像成功
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container-run-bash-ubuntu.jpg.jpg)
<br/>
接着,启动container 并执行第一个程序
`bin/bash`
:
...
...
@@ -33,6 +34,7 @@ docker container run -it ubuntu bin/bash
可以看到成功进入了ubuntu容器实例的shell环境,并在shell环境里执行了
`ls`
和
`ll`
命令。
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container-run-bash-ubuntu-shell.jpg)
<br/>
以下描述错误的是?
...
...
@@ -55,6 +57,7 @@ docker container run -it ubuntu bin/bash
因为指定了参数
`-it`
,因此可以直接在启动容器的终端上输入命令,回车交给容器里的shell环境执行命令。
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/3.docker container 操作/container-run-simple.jpg)
<br/>
参数
`-it`
表示将容器的shell链接到当前终端。
...
...
data/1.云原生初阶/1.容器(docker)/4.使用Dockerfile制作镜像/build_image.md
浏览文件 @
9fc631aa
...
...
@@ -9,6 +9,7 @@ docker image build -t cloud_native_hello_py:0.0.1 ./
构建如图所示:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/4.使用Dockerfile制作镜像/build_image.jpg)
<br/>
构建镜像之后,可以将镜像发布到 DockerHub ,不过需要首先注册下账号
...
...
@@ -24,6 +25,7 @@ docker tag cloud_native_hello_py:0.0.1 fanfeilong/cloud_native_hello_py
可以用
`docker image ls`
验证结果
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/4.使用Dockerfile制作镜像/build_image_tag.jpg)
<br/>
现在,可以使用镜像的 push 命令来发布
...
...
@@ -32,6 +34,7 @@ docker push fanfeilong/cloud_native_hello_py:latest
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/4.使用Dockerfile制作镜像/build_image_push.jpg)
<br/>
以下描述错误的是?
...
...
data/1.云原生初阶/1.容器(docker)/5.使用docker运行Python程序/pull_and_run.md
浏览文件 @
9fc631aa
...
...
@@ -11,6 +11,7 @@ docker pull fanfeilong/cloud_native_hello_py
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/5.使用docker运行Python程序/docker_pull.jpg)
<br/>
其次,运行容器:
...
...
@@ -21,10 +22,12 @@ docker run -p 1024:1024 -it fanfeilong/cloud_native_hello_py
这个命令没有指定容器启动后运行的命令,因此容器启动后会执行镜像制作时Dockerfile里指定的CMD命令,可以看到容器启动后执行了Python程序,容器服务在1024端口监听HTTP请求,因为 docker run 配置了参数
`-p 1024:1024`
,这里把主机的1024端口映射到了容器里的1024端口。
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/5.使用docker运行Python程序/run-with-port-map.jpg)
<br/>
现在,在浏览器里测试下请求:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/1.容器(docker
)
/5.使用docker运行Python程序/test-request.jpg)
<br/>
请求成功,输出了"Hello World!",到这里你就成功学会了容器镜像制作、发布、拉取和运行一条龙服务。
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/1.安装kubectl/install.md
浏览文件 @
9fc631aa
...
...
@@ -29,6 +29,7 @@ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stabl
截图如下:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/1.安装kubectl/imgs/install_kubectl.png)
<br/>
依次执行如下命令配置权限:
...
...
@@ -39,6 +40,7 @@ sudo chown root: /usr/local/bin/kubectl
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/1.安装kubectl/imgs/install_kubectl_02.png)
<br/>
使用如下两个命令分别查看版本信息:
...
...
@@ -49,6 +51,7 @@ kubectl version --client --output yaml
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/1.安装kubectl/imgs/install_kubectl_03.png)
<br/>
以下关于 kubectl 安装说法错误的是?
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/install_minikube.md
浏览文件 @
9fc631aa
...
...
@@ -29,6 +29,7 @@ minikube version
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/2.安装minikube/img/minikube_version.png)
<br/>
安装成功。以下对 minikube 说法错误的是?
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/minikube_commnds.md
浏览文件 @
9fc631aa
...
...
@@ -3,6 +3,7 @@
学习一个新工具,先大致熟悉它的命令体系,在后续使用中按图索骥是一种常见的方式。先看一下 minikube 有哪些命令选项,输入
`minikube`
直接回车,可以看到
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/2.安装minikube/img/minikube_options.png)
<br/>
首先是一组基础命令,用来开始、暂停、恢复、停止、删除 kubernetes 集群:
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/2.安装minikube/start_k8s.md
浏览文件 @
9fc631aa
...
...
@@ -13,10 +13,12 @@ minikube start --vm-driver=docker --image-mirror-country='cn'
启动过程截图:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/2.安装minikube/img/minikube_start.png)
<br/>
安装过程中可能会遇到各种问题,例如下图遇到了镜像下载失败使用回退版本的策略
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/2.安装minikube/img/minikube_start_success.png)
<br/>
幸运的是,启动成功了,提示
`kubectl`
已经配置到和
`minikube`
k8s 集群连接:
...
...
@@ -27,6 +29,7 @@ Done! kubectl is now configured to use "minikube" cluster and "default" namespac
使用命令
`kubectl cluster-info --context minikube`
查看下集群的信息
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/2.安装minikube/img/minikube_cluster_info.png)
<br/>
以下对 minikube 启动说法错误的是?
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/get_info.md
浏览文件 @
9fc631aa
...
...
@@ -3,10 +3,12 @@
通过命令
`kind get clusters`
查看 kind 创建的集群列表
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_get_clusters.png)
<br/>
通过命令
`kind get nodes --name test`
查看 kind 创建的节点列表
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_get_nodes.png)
<br/>
可以看到test集群下的单节点
`test-control-plane`
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/install_kind.md
浏览文件 @
9fc631aa
...
...
@@ -27,14 +27,17 @@ mv ./kind /some-dir-in-your-PATH/kind
安装成功:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_install.png)
<br/>
版本信息:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_version.png)
<br/>
子命令列表
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_commands.png)
<br/>
以下对安装 kind 说法错误的是?
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/start_k8s.md
浏览文件 @
9fc631aa
...
...
@@ -9,6 +9,7 @@ kind create cluster --name test
创建一个 k8s 集群
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_start.png)
<br/>
同样的,kind 提示了可以使用 kubectl 获取集群信息
...
...
@@ -22,6 +23,7 @@ kubectl cluster-info --context kind-test
使用命令
`kubectl cluster-info --context kind-test`
测试一下:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_cluster_info.png)
<br/>
以下说法错误的是?
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/3.安装kind/start_k8s_three_nodes.md
浏览文件 @
9fc631aa
...
...
@@ -28,11 +28,13 @@ kind create cluster --config hello-k8s-config.yaml --name hello-k8s
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_three_nodes.png)
<br/>
查看集群的节点列表
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/3.安装kind/img/kind_three_nodes_info.png)
<br/>
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/4.kubectl查看和切换context/config_view.md
浏览文件 @
9fc631aa
...
...
@@ -68,6 +68,7 @@ users:
```
主要包括这几类信息:
*
`clusters`
列出了所有的 k8s 集群,例如这里有两个kind创建的集群:
`kind-hello-k8s`
和
`kind-test`
以及一个 minikube 创建的集群
`minikube`
*
`context`
列出了每个 k8s 集群对应的上下文信息
*
`users`
列出了每个 k8s 集群的用户信息
...
...
@@ -77,14 +78,17 @@ users:
首先,通过
`kubectl config get-contexts`
查看下有哪些集群上下文,通过
`kubectl config current-context`
确认当前 k8s 集群上下文
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/4.kubectl查看和切换context/img/config_get.png)
<br/>
其次,通过
`kubectl get nodes`
查看当前 kubectl 连接的集群
`kind-hello-k8s`
的节点列表:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/4.kubectl查看和切换context/img/kubectl_get_nodes.png)
<br/>
现在,通过
`kubectl config use-context kind-test`
切换连接的 k8s 集群,然后再次查看信息
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/4.kubectl查看和切换context/img/kubectl_switch_context.png)
<br/>
以下说法错误的是?
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/create_deployment.md
浏览文件 @
9fc631aa
...
...
@@ -47,6 +47,7 @@ spec:
*
使用命令
`kubectl rollout status deployment/cloud-native-hello-py`
查看状态。
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/5.kubectl部署一个Python程序/img/deployment.png)
<br/>
以下说法错误的是?
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/create_service.md
浏览文件 @
9fc631aa
...
...
@@ -38,14 +38,17 @@ kubectl create -f k8s.service.yaml
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/5.kubectl部署一个Python程序/img/service.png)
<br/>
对服务做下端口转发
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/5.kubectl部署一个Python程序/img/port_forward.png)
<br/>
使用浏览器直接访问
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/5.kubectl部署一个Python程序/img/it_works_html.png)
<br/>
HelloWorld! 恭喜你成功地在 K8S 上部署启动了一个 Python Flask 后端服务。
...
...
data/1.云原生初阶/2.容器编排(学习环境 k8s)/5.kubectl部署一个Python程序/rs_pod.md
浏览文件 @
9fc631aa
...
...
@@ -7,10 +7,12 @@ Pod是一个或多个容器的组合,这些容器共享存储、网络和命
我们先通过命令
`kubectl get rs`
直观地看下 ReplicaSet
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/5.kubectl部署一个Python程序/img/rs.png)
<br/>
我们再通过命令
`kubectl get pods`
直观地看下 pods
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/2.容器编排(学习环境
k8s)/5.kubectl部署一个Python程序/img/pods.png)
<br/>
可以看到有一个 ReplicaSet,管理三个 Pods。ReplicaSet 管理多个 Pod,确保以指定个数的副本运行部署的服务。
...
...
data/1.云原生初阶/4.k8s包管理(helm)/1.安装helm/install.md
浏览文件 @
9fc631aa
...
...
@@ -31,6 +31,7 @@ brew install helm
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/1.安装helm/img/install.png)
<br/>
以下说法错误的是?
...
...
data/1.云原生初阶/4.k8s包管理(helm)/3.使用helm安装mysql到k8s/install.md
浏览文件 @
9fc631aa
...
...
@@ -13,6 +13,7 @@ helm search repo bitnami
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/3.使用helm安装mysql到k8s/img/repo.png)
<br/>
接着,通过 grep 命令过滤下 mysql 包相关的信息
...
...
@@ -21,6 +22,7 @@ helm serach repo|grep mysql
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/3.使用helm安装mysql到k8s/img/repo_mysql.png)
<br/>
然后,安装 mysql 包到 k8s,可以看到安装的
...
...
@@ -30,6 +32,7 @@ helm install bitnami/mysql --generate-name
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/3.使用helm安装mysql到k8s/img/install_mysql_chart.png)
<br/>
查看已经安装的 chart 列表,可以看到mysql已经装上了:
...
...
@@ -38,10 +41,12 @@ helm list
```
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/3.使用helm安装mysql到k8s/img/list.png)
<br/>
现在,使用
`helm status xxx`
命令查看已安装mysql的状态
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/3.使用helm安装mysql到k8s/img/status.png)
<br/>
以下说法错误的是?
...
...
data/1.云原生初阶/4.k8s包管理(helm)/4.使用helm部署Python应用/deploy.md
浏览文件 @
9fc631aa
...
...
@@ -76,14 +76,17 @@ helm install ./chart/hello-py/ --generate-name
检测下 k8s 的 deployment 和 sevice:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/4.使用helm部署Python应用/img/status.png)
<br/>
端口转发:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/4.使用helm部署Python应用/img/port.png)
<br/>
访问服务:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/4.k8s包管理(helm
)
/4.使用helm部署Python应用/img/visit.png)
<br/>
以下说法错误的是?
...
...
data/1.云原生初阶/5.服务网格(istio)/1.ServiceMesh介绍/introduce.md
浏览文件 @
9fc631aa
...
...
@@ -25,6 +25,7 @@ Client <-> Interface <-> [ProxyB->ServerB] <-> [ProxyA->ServerA]
2.
原来k8s的node里的pod通过node的kube-proxy桥接通信;在ServiceMesh下,每个 pod 之间直接通过装在 pod上的proxy直接通信。
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/5.服务网格(istio
)
/1.ServiceMesh介绍/img/k8s_native_vs_service_mesh.png)
<br/>
以下说法错误的是?
...
...
data/1.云原生初阶/5.服务网格(istio)/2.安装istio/install.md
浏览文件 @
9fc631aa
...
...
@@ -87,6 +87,7 @@ istioctl
可以看到 istioctl 支持的子命令列表:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/5.服务网格(istio
)
/2.安装istio/img/commands.png)
<br/>
istio 通过
`profile`
对不同的配置分组,内置的
`profile`
列表可以通过命令
`istioctl profile list`
查看:
...
...
@@ -105,6 +106,7 @@ Istio configuration profiles:
例如,使用命令
`istioctl profile dump demo`
查看名为
`demo`
的
`profile`
:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/5.服务网格(istio
)
/2.安装istio/img/dump_profile.png)
<br/>
配置
`profile=demo`
,安装istio到k8s
...
...
data/1.云原生初阶/7.基础架构自动编排(Terraform)/2.Terraform命令行工具/install.md
浏览文件 @
9fc631aa
...
...
@@ -12,11 +12,13 @@ brew install hashicorp/tap/terraform
安装成功如图:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/7.基础架构自动编排(Terraform
)
/2.Terraform命令行工具/img/install.png)
<br/>
查看下有哪些命令:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/7.基础架构自动编排(Terraform
)
/2.Terraform命令行工具/img/commands.png)
<br/>
可以看到一组核心命令:
...
...
@@ -59,22 +61,27 @@ resource "docker_container" "nginx" {
现在,执行
`terraform init`
命令初始化
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/7.基础架构自动编排(Terraform
)
/2.Terraform命令行工具/img/init.png)
<br/>
现在,执行
`terraform plan`
命令检测配置
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/7.基础架构自动编排(Terraform
)
/2.Terraform命令行工具/img/plan.png)
<br/>
可以看到,由于连不上 Mac系统的 docker daemon ,环境监测失败。Mac系统上不需要配置
`host = "tcp://localhost:2375"`
,删除后,重新执行如下
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/7.基础架构自动编排(Terraform
)
/2.Terraform命令行工具/img/plan_success.png)
<br/>
现在,我们执行
`terraform apply`
,将会开始构建一个 ngix 的docker:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/7.基础架构自动编排(Terraform
)
/2.Terraform命令行工具/img/apply_q.png)
<br/>
在实际构建之前,会要求再次确认,输入'yes'回车,开始实施:
![](
https://gitcode.net/csdn/skill_tree_cloud_native/-/raw/master/data/1.云原生初阶/7.基础架构自动编排(Terraform
)
/2.Terraform命令行工具/img/apply_a.png)
<br/>
可见,使用 terraform 可以让基础设施的构建使用上声明式配置,具有标准化、统一配置、减少错误、跨平台的好处。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录