k8s(1):K8s简介及部署

本文详细描述了在多个服务器上部署Kubernetes集群的过程,包括设置Docker、安装kubeadm、配置镜像仓库、网络调整、镜像推送和集群初始化。重点涉及yum安装、docker镜像操作和k8s核心组件的配置。

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

 vim docker.conf

一.k8s部署

实验环境:

server4是harbor仓库,

另外需要server{5,6,7},server4要有解析

 1.server{1,2,3}中进行的操作

 先复制仓库文件 server4中

scp docker.repo root@server5:/etc/yum.repos.d/
  183  scp docker.repo root@server6:/etc/yum.repos.d/
  184  scp docker.repo root@server7:/etc/yum.repos.d/

 在server5-7中的操作:

yum install docker-ce -y
  docker info
  systemctl  enable  --now docker.socket
  docker info

 修改参数 ,去掉docker info最后的两个警告

 vim docker.conf

net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

保存后  sysctl --system

 

 修改驱动
mkdir -p /etc/systemd/system/docker.service.d
cd /etc/docker
vim daemon.json

{
  "registry-mirrors": ["https://reg.westos.org"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

 systemctl restart docker

 禁用swap分区
swapoff -a
vim /etc/fstab 注释掉/etc/fstab文件中的swap定义 防止开机自启

安装部署软件kubeadm
cd /etc/yum.repos.d/
vim k8s.repo

[Kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0

 yum install -y kubeadm kubeleet kubectl

这里要联网

systemctl enable --now kubelet

 查看默认配置信息
kubeadm config print init-defaults

 server5中:

kubeadm config images list --image-repository registry.aliyuncs.com/google_containers ## 列出所需镜像
kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers ## 拉取镜像(过程有点慢)

 

 docker images 查看

 在harbor仓库新建一个项目 (要公开)

在harbor'下重新执行

 ./install.sh    不要打开http服务

拉取得registry.aliyuncs.com/google_containers改标签为reg.westos.org/k8s/

docker images | grep egistry.aliyuncs.com | awk '{print $1":"$2}' | awk -F/ '{print $3}' | awk '{system("docker tag registry.aliyuncs.com/google_containers/"$1" reg.westos.org/k8s/"$1"")}'

查看修改标签成功

docker images | grep reg.westos.org

scp -r /etc/docker/certs.d/  server1:/etc/docker/ 把密钥给server123

不然就会出现第一张图的错误,记得是/etc下的目录,不是~下

上传这些k8s文件

docker images | grep reg.westos.org | awk '{system("docker push "$1":"$2"")}'

这里如果出现报错说找不到hosts,记得修改解析

出现denied。因为没有登陆

 解决办法:登陆

server2:docker login reg.westos.org

 再次上传这些k8s文件

docker images | grep reg.westos.org | awk '{system("docker push "$1":"$2"")}'

这里server2总是有几个传不上去,所以改为server3上传了

所以后边都是用server3

//初始化集群     systemctl enable docker.service

白色信息有用

kubeadm join 172.25.73.5:6443 --token m9p1ns.cbq8puafj7b3nzhv \
    --discovery-token-ca-cert-hash sha256:d540506c41459047c4869936dd123c5673fd9c15fd6682ee315f95fc94464258

kubeadm init --pod-network-cidr=10.244.0.0/16 --image-repository reg.westos.org/k8s

执行   export KUBECONFIG=/etc/kubernetes/admin.conf  

vim .bash_profile

将export KUBECONFIG=/etc/kubernetes/admin.conf    写入

 

配置kubectl命令补齐功能

我们需要用kubectl指令来完成后续动作,所以需要在~/.bashrc
中将kubectl补齐的指令写进去

echo “source <(kubectl completion bash)” >> ~/.bashrc   英文引号

source .bashrc

kubectl get pod -n kube-system    我们会发现有状态是pending而不是runnning

原因:没有安装flannel网络组件

3.安装flannel网络组件




3.1.拉取flannel最新版本

网址:https://github.com/coreos/flannel

我们在server3拉取flannel并上传到私有仓库

docker pull quay.io/coreos/flannel:v0.14.0
docker tag quay.io/coreos/flannel:v0.14.0 reg.westos.org/library/flannel:v0.14.0
docker push reg.westos.org/library/flannel:v0.14.0

 

此时library镜像仓库能看到

 3.2.下载yml文件
直接从网上wget将yml文件下载下来如下:
yum install -y wget
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml    多试几次
vim kube-flannel.yml
只需要改一下镜像的版本

后边

    8  kubectl apply -f kube-flannel.yml
    9  kubectl get pod -n kube-system

把初始化时的信息复制到server12,加入集群

 kubeadm join 172.25.73.3:6443 --token qair9t.uypwok9vir02kglt  --discovery-token-ca-cert-hash sha256:2d7ff06e94cf31e004756dd77a703230c758d80a1e6a61d7bcf565578a322c46

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值