安装k8s

2025-07-15 16:43 109 阅读量
删除服务器上的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
 
添加docker软件配置
yum install -y yum-utils
 
添加阿里云docker仓库
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
 
安装docker
yum install -y docker-ce docker-ce-cli containerd.io
出现containerd.io-1.6.33-3.1.el7.x86_64: [Errno 256] No more mirrors to try.问题时:
更换yum源
 

重新安装

yum install -y docker-ce docker-ce-cli containerd.io

 

 

启动docker
systemctl start docker
 
设置开机自启
systemctl enable docker
 
拉取nginx包
docker pull nginx:1.24
报错的话,使用镜像加速,创建文件
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://iju9kaj2.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://cr.console.aliyun.com",
"https://hub.docker.com",
"http://mirrors.ustc.edu.cn"
]
}
 
重载docker配置文件
systemctl daemon-reexec
systemctl daemon-reload
systemctl restart docker
 
重新拉取nginx
docker pull nginx:1.24
 
查看docker版本
docker version
 
docker状态说明
docker info
 
运行docker容器
docker run hello-world
 
查看有哪些镜像
docker images
 
查看运行过的容器
docker ps -a
 
运行nginx容器
docker run -d -p 8080:80 nginx:1.24
注释:
-d 后台运行
-p 8080:80  将本机的8080端口映射到容器的80端口
 
 
访问8080页面
curl 127.0.0.1:8080
 
进入到镜像中
docker run -it --rm nginx:1.24 /bin/bash
 
本地目录映射到镜像(需要先把容器关掉)
关掉容器
docker stop ef7143103d65
ef7143103d65:容器的id
 
开启并映射
docker run -d --name nginx -v /data/html:/usr/share/nginx/html -p 8080:80 nginx:1.24
 
k8s
1、解决容器管理问题
2、提升部署效率,能够自动部署负载均衡,自动修复弹性扩容缩容
3、支持多副本的部署,防止服务器挂掉
 
核心作用,
1、容器调度,统一安排容器运行,
2、自动化配置管理,配置化、自动化,减少人工干预
3、支持服务编排,支持滚动升级、命名空间的隔离,实现服务的灵活部署和管理
 
k8s核心功能
1、自动部署
2、负载均衡
3、自动修复
 
核心组件
1、pod:容器实际工作的地方,一个pod可以包含多个容器
2、node:代表一台服务器,是pod运行的物理机
3、deployment:定义应用的期望状态,如”我要3个nginx“
4、service:提供访问pod的统一入口,实现负载均衡
5、kube-apiserver:所有指令都通过kube-apiserver进入
6、etcd:集群当前状态的数据库,存储所有集群数据
7、kube-scheduler:决定pod放在哪台机器上运行
8、kubelet:负责监听pod的运行状态,启动容器,上报情况
9、Namespace:提供项目隔离,确保不同项目之间互不干拢
 
 
集群需要的工具(必装):
1、docker 容器
2、kubectl k8s控制命令工具
3、kind 在docker中模拟k8s
 
 
下载k8s地址:
https://dl.k8s.io/release/v1.33.0/bin/linux/amd64/kubectl
授权 chmod +x kubectl
移动 mv kubectl /usr/local/bin/
查看 kubectl version --client
 
 
下载kind地址:
https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64
改名 mv kind-linux-amd64 kind
授权 chmod +x ./kind
移动 move kind /usr/local/bin/kind
查看 kind version
 
 
创建单节点k8s集群
kind create cluster创建
kubectl get nodes 查看容器
kubectl get pords-A查看组件
 
 
将镜像上传到节点
kind load docker-image nginx:1.24
创建nginx-deploy.yaml文件
执行 kubectl apply -f nginx-deploy.yaml
查看启动状态
kubectl get pods
 
 

安装helm
wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz
mkdir myhelm
cd myhelm
tar -zxvf helm-v3.7.1-linux-amd64.tar.gz
mv linux-amd64/helm  /usr/local/bin/helm
helm version

添加阿里云镜像源
helm repo remove stable
helm repo add stable http://mirror.azure.cn/kubernetes/charts/
helm repo update 


将容器保存为镜像:
1、停止容器
docker stop id
2、提交容器为新镜像
docker commit id 名称:标签
3、查看是否生成镜像
docker images
4、导出镜像为文件
docker save -o new.tar 名称:标签
5、其它服务器导入镜像
docker load -i new.tar