【kubernetes学习】:play with kubernetes简易部署及使用

本文介绍了如何在Play with Kubernetes平台上轻松部署和管理Kubernetes集群,包括添加实例、初始化master节点、设置网络代理、加入其他节点以及部署和检查nginx服务。此外,还提供了查看和访问集群内nginx服务的方法,帮助读者快速掌握K8s集群操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现阶段在学习k8s,在这边将自己学习的知识做个总结。
首先没有在自己的机器上部署k8s集群,而是选择了play with kubernetes,线上的,不占用本机资源,而且相对于本机来说,线上的很容易部署。

一. 集群部署

1. 登录play with kubernetes

界面点击Login,这边给了两种登录账号选择,一个是github,一个是docker账号,我选择的是github。没有账号的记得提前注册一下。
【提一嘴⚠️】:我用以前的电脑,windows系统的,这个play with kubernetes的网站一直点不动,不知道是不是我原来电脑配置太低了…换了公司的电脑,嗯,很快…
选择登录方式
通过账号授权之后,界面上就出现了start,点击进入界面(有一点慢)。
在这里插入图片描述

2. 添加实例

点击左边的ADD NEW INSTANCE之后,创建实例。可以在界面上看到也给出了部署集群的提示(参见我标红出来的语句)。
在这里插入图片描述

3. 初始化master节点

将刚刚创建的实例作为master节点,对其初始化,语句如下:

kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16

在这里插入图片描述

【注意⚠️】执行init 后会自动生成join命令。在初始化语句执行成功之后,可以在语句中看到一句 join语句,这个是后期别的实例加入到mater节点(node1)会使用的语句,可以复制备用,也可以不复制。若想再次看见该语句可以参见下面的第6条,而且每个人的join语句是不一样的。
在这里插入图片描述

4. 初始化集群网络

在master上部署网络代理,语句如下:

kubectl apply -n kube-system -f  \ "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

在这里插入图片描述

5. 作为普通用户来使用集群

【⚠️】这个步骤不一定要有

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

6. 查看加入master的join指令

【⚠️】这边得到的结果与3中一样,为了获取其他node加入master节点的join语句。

kubeadm token create --print-join-command

在这里插入图片描述

7. 其他节点加入

注意⚠️】这边每人这个语句不一样!!!
新增实例,在新增的实例命令行界面输入如下join语句:

kubeadm join 192.168.0.18:6443 --token woyq8i.hdinhrqwvzt5frou     --discovery-token-ca-cert-hash sha256:56a68dd38ab3a85d2f28f900ef790e4be172a266c81e3755d951728b5d7e7424

创建4个实例,按照同样的方式加入master节点,形成集群。
在这里插入图片描述

8. 查看集群

在master(node1)上获取节点信息,语句如下:

kubectl get nodes

在这里插入图片描述
获取集群信息

kubectl cluster-info

在这里插入图片描述

二、部署nginx服务

1.在master节点部署nginx

每个nginx会自动被部署到node节点中。

kubectl apply -f https://raw.githubusercontent.com/kubernetes/website/master/content/en/examples/application/nginx-app.yaml

2. master查看pod状态

默认是随机选择3个节点。
pod为Running状态表示部署成功,正常运行中。

kubectl get pods -o wide

在这里插入图片描述

3. 查看服务状态

kubectl get svc

在这里插入图片描述
可以看到"my-nginx-svc"服务已经启动,内部80端口被映射到了外部31447端口。
【⚠️】每人端口不一样的。

ss -anlp|grep 31447

输入以上命令,发现31447端口的确被监听,通过kube-proxy网络管理实现。

4. 开放端口

将pod上的80端口暴露给master节点。

kubectl expose deploy/my-nginx --port 80

在这里插入图片描述

5. 查看服务地址并访问

kubectl get svc my-nginx -o go-template --template '{{ .spec.clusterIP }}'

在这里插入图片描述
得到nginx的默认欢迎界面,至此在k8s上部署nginx完成。
⚠️ 新博客中写了在k8s集群中部署mysql,通过yaml文件进行资源的创建的,感兴趣的可以看一下~
链接:在k8s上部署mysql

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值