安装--centos7上使用kubeadm安装三节点的k8s集群

安装文档:https://kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
参考:
https://blog.csdn.net/qq_34041723/article/details/115842607

1、集群规划
node002 192.168.20.132 master
node003 192.168.20.133 node1
node004 192.168.20.134 node2
资源:3c4g100G
系统:centos7.6(内核3.10.0)
版本:
docker-v18.06.1
k8s-v1.18.0

以下版本同样适用该步骤:
docker-v20.10.18
k8s-v1.21.14

2、准备环境:
#在初始化操作基础上再做以下操作:
# 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久
# 在master添加hosts
cat >> /etc/hosts << EOF
192.168.20.132 node002
192.168.20.133 node003
192.168.20.134 node004
EOF
# 将桥接的IPv4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system # 生效
# 时间同步
yum install ntpdate -y
ntpdate time.windows.com


3、所有节点安装Docker/kubeadm/kubelet
(1)安装Docker
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-18.06.1.ce-3.el7
$ systemctl enable docker && systemctl start docker
$ docker --version
Docker version 18.06.1-ce, build e68fc7a
$ cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
$ systemctl daemon-reload
$ systemctl restart docker


(2)添加阿里云YUM软件源
$ cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

(3)安装kubeadm,kubelet和kubectl
$ yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
$ systemctl enable kubelet

4、部署master
#在master执行
$ kubeadm init \
  --apiserver-advertise-address=192.168.20.132 \
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.18.0 \
  --service-cidr=10.96.0.0/12 \
  --pod-network-cidr=10.244.0.0/16

使用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
$ kubectl get nodes


5、加入Kubernetes Node
#在node上执行(kubeadm init输出的kubeadm join命令)
kubeadm join 192.168.20.132:6443 --token to8n1j.m95bbrlvpp49cbfc \
    --discovery-token-ca-cert-hash sha256:b2140fdec7032372680e0eee83cc17d6a233f4991f28cacb0129c4f99760e227 

6. 部署CNI网络插件
#安装calico
kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml

#验证所有数据
[root@node002 ~]#kubectl get po -A
NAMESPACE     NAME                                      READY   STATUS    RESTARTS   AGE
kube-system   calico-kube-controllers-75d555c48-tk5sd   1/1     Running   0          2m4s
kube-system   calico-node-79s9v                         1/1     Running   0          2m4s
kube-system   calico-node-89chs                         1/1     Running   0          2m4s
kube-system   calico-node-fsh4n                         1/1     Running   0          2m4s
kube-system   coredns-7ff77c879f-cmsz9                  1/1     Running   0          13m
kube-system   coredns-7ff77c879f-ggrvd                  1/1     Running   0          13m
kube-system   etcd-node002                              1/1     Running   0          13m
kube-system   kube-apiserver-node002                    1/1     Running   0          13m
kube-system   kube-controller-manager-node002           1/1     Running   0          13m
kube-system   kube-proxy-b8ccw                          1/1     Running   0          13m
kube-system   kube-proxy-dwn2h                          1/1     Running   0          10m
kube-system   kube-proxy-ndxpr                          1/1     Running   0          10m
kube-system   kube-scheduler-node002                    1/1     Running   0          13m
[root@node002 ~]#kubectl get nodes
NAME      STATUS   ROLES    AGE   VERSION
node002   Ready    master   14m   v1.18.0
node003   Ready    <none>   10m   v1.18.0
node004   Ready    <none>   10m   v1.18.0

7. 测试kubernetes集群
在Kubernetes集群中创建一个pod,验证是否正常运行:
$ kubectl create deployment nginx --image=nginx
$ kubectl expose deployment nginx --port=80 --type=NodePort
$ kubectl get pod,svc
NAME                        READY   STATUS    RESTARTS   AGE
pod/nginx-f89759699-l4tjt   1/1     Running   0          21m

NAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        40m
service/nginx        NodePort    10.96.147.252   <none>        80:31331/TCP   21m
#验证:
http://192.168.20.132:31331/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在CentOS系统中使用kubeadm安装Kubernetes 1.24版本的全部命令如下: 1. 安装必需的包和软件: ``` sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 2. 添加Kubernetes存储库: ``` sudo yum-config-manager --add-repo https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ ``` 3. 安装kubeadmkubelet和kubectl: ``` sudo yum install -y kubeadm-1.24.0 kubelet-1.24.0 kubectl-1.24.0 ``` 4. 启动并启用kubelet服务: ``` sudo systemctl start kubelet && sudo systemctl enable kubelet ``` 5. 初始化集群: ``` sudo kubeadm init --kubernetes-version=1.24.0 --pod-network-cidr=10.244.0.0/16 ``` 6. 配置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. 安装网络插件: ``` kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml ``` 8. 加入节点: ``` kubeadm join <control-plane-host>:<control-plane-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash> ``` 请注意,在实际使用时,您需要替换`<control-plane-host>`、`<control-plane-port>`、`<token>`和`<hash>`的值。 ### 回答2: 在CentOS系统中使用kubeadm安装Kubernetes 1.24版本需要执行以下步骤: 1. 确保系统已经安装CentOS操作系统并更新到最新版本。 2. 安装Docker,首先安装Docker的相关依赖: ``` sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 接下来,添加Docker的yum源并安装Docker: ``` sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io ``` 启动Docker并设置为开机自启动: ``` sudo systemctl start docker sudo systemctl enable docker ``` 3. 安装kubeadmkubelet和kubectl,添加Kubernetes的yum源: ``` sudo tee /etc/yum.repos.d/kubernetes.repo <<EOF [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch 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 exclude=kube* EOF ``` 安装kubeadmkubelet和kubectl: ``` sudo yum install -y kubeadm-1.24.0 kubelet-1.24.0 kubectl-1.24.0 --disableexcludes=kubernetes ``` 启动kubelet并设置为开机自启动: ``` sudo systemctl start kubelet sudo systemctl enable kubelet ``` 4. 创建Kubernetes集群,首先选择一个主节点,执行以下命令初始化主节点: ``` sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 初始化完成后,根据输出的提示执行以下命令设置kubeconfig: ``` mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 安装网络插件(这里以Flannel为例): ``` kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 接下来,将其他节点加入集群,运行输出的`kubeadm join`命令即可。 通过以上步骤,在CentOS系统中使用kubeadm成功安装Kubernetes 1.24版本。 ### 回答3: 在CentOS系统上使用kubeadm安装Kubernetes 1.24版本,可以按照以下步骤操作: 1. 确保系统已经预先安装好Docker,并且启动Docker服务。 ``` systemctl start docker systemctl enable docker ``` 2. 更新系统的软件包,并安装所需的依赖项。 ``` yum update yum install -y curl wget kubelet kubeadm kubectl ``` 3. 配置kubeadm使用国内镜像源,以提高下载速度。 ``` echo "KUBELET_EXTRA_ARGS=--image-repository=registry.aliyuncs.com/google_containers" > /etc/sysconfig/kubelet ``` 4. 初始化kubeadm并指定使用的版本。 ``` kubeadm init --kubernetes-version=1.24.0 ``` 5. 完成初始化后,根据kubeadm提供的输出信息执行以下命令,将kubectl与集群进行连接。 ``` mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` 6. 部署Pod网络插件,以便集群中的Pod可以相互通信。 这里以Calico网络插件为例: ``` kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml ``` 7. 等待一段时间,直到所有的节点状态都变为Ready。 ``` kubectl get nodes ``` 8. 完成上述步骤后,Kubernetes集群已经成功安装。 请注意,以上步骤仅适用于CentOS系统上使用kubeadm安装Kubernetes 1.24版本。具体版本号和网络插件可以根据需要进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值