CentOS7部署rancher安装k8s、kubectl

CentOS7部署rancher安装k8s

0.环境说明

项目 key value
CentOS Linux release 7.6.1810 (Core) IP 192.168.255.133

1.虚机准备rancher

1.1.docker更换阿里源

原本使用的是163的源,但是在pull rancher镜像时候有一个包速度太慢,重试了几次更换为阿里源解决问题。

# 新增/修改文件
vi /etc/docker/daemon.json

{
  "registry-mirrors": ["https://almtd3fa.mirror.aliyuncs.com"]
}

# 重启docker
systemctl restart  docker

1.2.安装部署rancher

# 拉取rancher镜像
docker pull rancher/server  
docker pull rancher/agent 
docker pull rancher/rancher:stable
# 运行rancher
docker run -d --restart=always -p 8080:8080 rancher/server		

宿主机访问rancher前端(注意8080是否开启)
http://192.168.255.133:8080/

1.3.rancher配置

步骤一系统管理>访问控制
在这里插入图片描述
设置访问控制,选择LOCAL,管理员用户都设置为admin,浏览器记住密码,点击左下角启动本地验证按钮
在这里插入图片描述

2.rancher部署k8s环境

2.1.rancher添加k8s环境

rancher前端页面点击菜单Default>环境管理
在这里插入图片描述
后点击添加环境按钮
在这里插入图片描述
填写名称描述,选择环境模板Kubernetes,刚才的本地用户为所有者,点击页面下方创建按钮:
在这里插入图片描述
点击创建好的k8s环境一行中的文件夹图标,切换至此环境:
在这里插入图片描述

2.2.rancher k8s环境添加主机

点击添加主机
在这里插入图片描述
主机注册地址,点击页面下方保存按钮
在这里插入图片描述
添加主机-所有主机之前UDP端口500、4500可互通,这里我们就一台虚机,直接关闭防火墙
systemctl stop firewalld.service
其他全都默认,第五步的命令点击右侧复制按钮复制到虚拟机执行,注意:检查rancher/agent拉下来的镜像版本是否符合
在这里插入图片描述
虚拟机检查rancher/agent版本,运行复制过来的命令
最开始我拉取的rancher/agent版本标签是latest最新版,可以将拉下来的镜像改个标签,或者将运行的命令改掉:去掉版本号执行即可:
在这里插入图片描述
正确运行命令
在这里插入图片描述
虚机docker ps -a可以看到启动了12个服务,等待启动所有服务后,可以看到下一步的页面:
在这里插入图片描述

2.3.rancher k8s环境配置kubectl工具

rancher前端点击关闭按钮即可看到如下页面,点击菜单KUBERNETES>CLI
在这里插入图片描述
点击生成配置按钮
在这里插入图片描述
复制生成的配置
在这里插入图片描述
虚机创建文件vim ~/.kube/config,并将复制的配置保存进去
在这里插入图片描述
检查kubectl工具配置是否成功kubectl get node
在这里插入图片描述
之后会主要使用kubectl工具操作k8s,下面列举一下主要的操作,在部署和调试、排错中极其重要

3.kubectl工具使用

# 获取所有命名空间
kubectl get ns
# 创建命名空间archery
kubectl create namespace archery
# 在命名空间archery用部署文件archery-deployment.yaml创建应用
kubectl create -f archery-deployment.yaml -n archery
# 查询命名空间archery的部署
kubectl get deployments -n archery
# 查询命名空间archery的容器
kubectl get pods -n archery
# 查询命名空间archery的容器archery-74dfcd4b6-49pwx的日志(持续打印)
kubectl logs -f archery-74dfcd4b6-49pwx -n archery
# 查询容器archery-56dc5b8879-wnj8v的详情
kubectl describe pod archery-56dc5b8879-wnj8v -n archery
# 删除命名空间archery内的容器archery-56dc5b8879-wnj8v
kubectl delete pod archery-56dc5b8879-wnj8v  -n archery
# 在名称为nginx-pod-xxxxxx容器中运行bash,进入容器
kubectl exec -it nginx-pod-xxxxxx -n archery /bin/bash

4.docker使用

# 查看所有运行容器
docker ps -a
# 停用所有容器
docker stop $(docker ps -q)
# 关闭所有运行容器
docker rm $(docker ps -aq)
# 停用并删除所有运行容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
# 删除镜像
docker rmi <image id>
# 删除untagged images,即id为<None>的镜像
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

# 删除所有镜像!!!!!
docker rmi $(docker images -q)

猜你喜欢

转载自blog.csdn.net/qq_33997198/article/details/104940920