云计算

初探k8s

初探 k8s

前言:

从接触 docker 到 现在能接触 k8s 大概过了一年多。

说这个话的意思是,学习是一个循序渐进的过程,只有从开始使用 docker,慢慢熟悉 docker,会写 Dockerfile,到能使用 docker-compose 一键部署项目,再来学习 k8s 是我认为最合适的一个线路。

预备

docker

docker-compose

部署 k8s

参考自知乎:

windows10 部署 docker+k8s 集群 - 知乎 (zhihu.com)

为了部署方便,我们可以选择部署k3s

但是我在使用 k3s 过程中还是有点问题,所以还是换了 k8s。

此方法前期条件是安装了 docker for desktop.

接下来就是安装一些 k8s 相关的镜像。

git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git
cd k8s-for-docker-desktop
# git checkout v1.21.2 # 切换指定的版本,这个需要docker for desktop 中 k8s 的版本
Set-ExecutionPolicy RemoteSigned # powershell 管理员权限运行
.\load_images.ps1 # 执行脚本

image-20210715172934927

image-20210715172819188

最后 Enable Kubernetes

image-20210715173031134

测试安装

kubectl cluster-info

image-20210715173223726

kubectl get nodes

image-20210715173256046

运行第一个 k8s 应用

参考自 k8s 权威指南。

相关的配置文件已托管在我的github上。

1、首先为 MySql 服务创建一个 RC 定义文件:mysql-rc.yaml

touch mysql-rc.yaml
# 将github上的该文件的内容复制上去

2、发布到 Kubernetes 集群

kubectl create -f mysql-rc.yaml

3、验证是否成功

kubectl get rc

image-20210715173936566

kubectl get pods

image-20210715174027183

4、构建 Mysql Kubernetes Service 定义文件

touch mysql-svc.yaml
# 将github上的该文件的内容复制上去
kubectl create -f mysql-svc.yaml

5. 验证创建的 service

kubectl get svc

image-20210715174655176

注意到 MySql 服务被分配了一个值为 10.110.175.148 的 ClusterIP 地址,这是一个虚地址,随后 Kubernetes 集群中其他新创建的 Pod 就可以通过 Service 的 ClusterIP+端口号 3306 来连接和访问它。根据 Service 的唯一名字,容器可以从环境变量中获取到 Service 对应的 ClusterIP 地址和端口,从而发起 TCP/IP 连接请求了。

6. 创建 tomcat 对应的 RC 文件 myweb-rc.yaml

touch myweb-rc.yaml
# 将github上的该文件的内容复制上去
kubectl create -f myweb-rc.yaml

7. 构建 Tomcat Kubernetes Service 定义文件

touch myweb-svc.yaml
# 将github上的该文件的内容复制上去
kubectl create -f myweb-svc.yaml

8. 访问 localhost:30001

image-20210715233500357

pandas-apply-lambda

上一篇

k8s系列第一篇之k8s组件说明

下一篇

你也可能喜欢

1 条评论

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

个人微信公众号

we-tuiguang

qq交流群

群号:1046260719

微信扫一扫

微信扫一扫