k8s使用kubeadm安装(centos7)(v1.22.4)

1、先修改hostname

vi /etc/hostname

2、安装docker

yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker

参考:Install Docker Engine on CentOS | Docker Documentation

3、配置yum源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

4、安装kubeadm和相关工具

yum install -y kubelet-1.22.4 kubeadm-1.22.4 kubectl-1.22.4 --disableexcludes=kubernetes

5、禁用selinux

setenforce 0

6、设置docker镜像

echo '{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],"exec-opts": ["native.cgroupdriver=systemd"]}' > /etc/docker/daemon.json

7、docker开机启动 & kbs开机启动

systemctl enable docker && systemctl start docker
systemctl enable kubelet && systemctl start kubelet

8、关闭linux的swap系统交换区

swapoff -a

9、生成默认初始化参数文件

kubeadm config print init-defaults > init.default.yaml

10、修改初始化参数文件内容(先复制一份)

cp init.default.yaml init-config.yaml

 在 init-config.yaml 中输入以下内容

apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
imageRepository: registry.aliyuncs.com/google_containers
kubernetesVersion: 1.22.4
networking:
  podSubnet: 192.168.0.0/16

11、拉取镜像

kubeadm config images pull --config=init-config.yaml

12、对比镜像

 13、使用docker tag 修改拉取的镜像(如果可以访问到k8s.gcr.io请忽略此步骤)

docker tag registry.aliyuncs.com/google_containers/kube-apiserver:v1.22.4 k8s.gcr.io/kube-apiserver:v1.22.4
docker tag registry.aliyuncs.com/google_containers/kube-controller-manager:v1.22.4 k8s.gcr.io/kube-controller-manager:v1.22.4
docker tag registry.aliyuncs.com/google_containers/kube-scheduler:v1.22.4 k8s.gcr.io/kube-scheduler:v1.22.4
docker tag registry.aliyuncs.com/google_containers/kube-proxy:v1.22.4 k8s.gcr.io/kube-proxy:v1.22.4
docker tag registry.aliyuncs.com/google_containers/pause:3.5 k8s.gcr.io/pause:3.5
docker tag registry.aliyuncs.com/google_containers/etcd:3.5.0-0 k8s.gcr.io/etcd:3.5.0-0
docker tag registry.aliyuncs.com/google_containers/coredns:v1.8.4 k8s.gcr.io/coredns/coredns:v1.8.4

14、初始化master

kubeadm init --config=init-config.yaml --ignore-preflight-errors=all

如果发生错误可使用 如下命令查看日志,并根据具体问题解决

journalctl -f -u kubelet

成功提示:

 非root用户

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

 root用户

export KUBECONFIG=/etc/kubernetes/admin.conf
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

测试:

kubectl -n kube-system get configmap

15、构建其他Node节点(和步骤1-8一致,但是第4步不需要安装kubectl),然后Node执行加入

kubeadm join 192.168.83.129:6443 --token 51e80a.o41mpmgj3db447ne \
        --discovery-token-ca-cert-hash sha256:6a233ea8c4376baa23b77224fec33781f09798213ee3ddaf3fbee95f421f6786 \
        --ignore-preflight-errors=all

 16、查看结果(在master执行 kubectl get nodes)

 17、因为是NotReady状态,所以需要安装网络插件

kubectl apply -f "https://docs.projectcalico.org/manifests/calico.yaml"

或者先下载下来

wget https://docs.projectcalico.org/manifests/calico.yaml

kubectl apply -f calico.yaml

安装完成后等一会:再次查看状态

 

 注意!这里可能有calico-kube-controllers或者coredns未启动或者运行报错,可能是网段原因导致的,步骤10的podSubnet

如果您的网络运行在192.168.x.x 请使用10.0.0.0/16

如果您的网络是10.0.x.x 请使用192.168.0.0/16

18、失败处理

运行 kubeadm reset 后 ,重新 init

19、其他

去除master的pod不能部署限制

kubectl taint nodes --all node-role.kubernetes.io/master-
# 下载flannel插件的yml
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

# 修改kube-flannel.yml中的镜像仓库地址为国内源
sed -i 's/quay.io/quay-mirror.qiniu.com/g' kube-flannel.yml

# 修改kube-flannel.yml中
"Network": "10.0.0.0/16",

# 安装网络插件
kubectl apply -f kube-flannel.yml
#虚拟机重启后

systemctl start kubelet
setenforce 0
swapoff -a

参考:Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上安装Kubernetes 1.25.4,可以按照以下步骤进行操作: 1. 更新系统和软件包:使用以下命令更新系统和安装必要的软件包。 ``` sudo yum update sudo yum install -y curl ``` 2. 安装Docker:Kubernetes需要Docker作为容器运行时。使用以下命令安装Docker。 ``` sudo yum install -y docker sudo systemctl enable docker sudo systemctl start docker ``` 3. 添加Kubernetes存储库:访问Kubernetes存储库以获取1.25.4版本的软件包。 ``` cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF ``` 4. 安装Kubernetes组件:使用以下命令安装Kubernetes组件。 ``` sudo yum install -y kubelet-1.25.4 kubeadm-1.25.4 kubectl-1.25.4 sudo systemctl enable kubelet sudo systemctl start kubelet ``` 5. 初始化Kubernetes主节点:在主节点上执行以下命令初始化集群。 ``` sudo kubeadm init ``` 6. 配置kubectl:在主节点上按照kubeadm init命令的输出提示,设置当前用户的kubectl配置文件。 ``` mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 7. 加入工作节点:如果要将其他节点添加到集群中,可以在工作节点上执行kubeadm join命令,将其加入到集群中。 这些步骤会在CentOS 7上安装Kubernetes 1.25.4版本,并设置好主节点和工作节点。请确保按照步骤正确执行,并在初始化和加入节点时遵循相应的命令和安全提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值