在一台物理机上创建3个虚拟机搭建k8s集群(二)

书接上文,本节开始部署k8s。注意:以下步骤一个都不能少,否则会出现难以解决的问题。

一:安装kubectl、kubeadm、kubelet

1、关闭SELINUX

永久关闭:

vim /etc/sysconfig/selinux

SELINUX=enforcing 改为 SELINUX=disabled,重启服务reboot

2、配置yum源,从阿里云安装

cat <<EOF > /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=http://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

3、安装指定版本

默认最新版本

yum install -y kubelet kubeadm kubectl kubernetes-cni

指定版本

yum install -y kubelet-1.14.2-0.x86_64 kubeadm-1.14.2-0.x86_64  kubectl-1.14.2-0.x86_64

安装完成kubelet、kubeadm、kubectl三者后,要求启动kubelet:
 

systemctl enable kubelet && systemctl start kubelet

二: 安装k8s

1.配置host

vi /etc/hosts

添加IP地址与hostname的映射,即在文件最后一行添加

192.168.5.102 s2

2.配置docker网络

安装k8s前还需做一步容器网络配置,执行以下命令

vi /etc/sysctl.conf

打开后添加以下两行

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

然后再运行命令

sysctl -p

3.安装

用docker下载flannel文件

docker pull quay.io/coreos/flannel:v0.11.0-amd64

执行命令:

kubectl edit cm coredns -n kube-system

打开文件后,删除loop行,保存文件。

 

利用上面安装好的三个工具,安装部署k8s集群,首先在master节点下执行以下命令

kubeadm init \
  --apiserver-advertise-address=192.168.5.101 \                    #自己的master节点IP
  --image-repository registry.aliyuncs.com/google_containers \
  --kubernetes-version v1.14.2 \                            #v1.14.2  版本号选择
  --service-cidr=10.1.0.0/16 \
  --pod-network-cidr=10.244.0.0/16

按照以上提示,执行

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

然后,去官网https://kubernetes.io/docs/concepts/cluster-administration/addons/找到flannel相关命令执行,在这里直接运行以下命令

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

 安装完成后,运行以下命令查看

kubectl get pod -n kube-system

如果出现 

红框中,状态running,即表明安装成功。

4. 集群部署

以上内容除了第三步在master上执行不用在其他节点运行,其他步骤均需在所有虚拟机节点上执行。

执行完成后,需要将所有虚机的hosts配置

vi /etc/hosts

添加IP地址与hostname的映射,即在文件最后一行添加

192.168.5.102 s2
192.168.5.103 s3
192.168.5.104 s4

配置完成后,在master节点下查看当前

kubeadm token create --print-join-command

出现

 将以上命令复制到各个节点运行,就可以将节点添加到集群中了。

搭建完成后,在主节点上运行

kubectl get nodes

出现以下内容,说明集群部署安装成功

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
搭建 Kubernetes 集群需要准备以下资源: - 3 台或以上的 Linux 主,它们可以是物理虚拟,至少每台主 2 核 CPU、4GB 内存、20GB 硬盘空间,且操作系统为 Ubuntu 16.04 或更高版本、CentOS 7.4 或更高版本等。 - 在每台主机上安装 Docker CE 或其他容器运行时(如 rkt、containerd 等)。 - 在每台主机上安装 kubeadm、kubelet 和 kubectl。 下面以 3 台 Ubuntu 18.04 主为例,介绍如何搭建 Kubernetes 集群。 1. 安装 Docker CE 和相应依赖 在每台主机上执行以下命令,安装 Docker CE 和相应依赖: ``` sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update && sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu ``` 安装完成后,运行以下命令,验证 Docker 是否安装成功: ``` sudo docker run hello-world ``` 如果能输出 "Hello from Docker!",则 Docker 安装成功。 2. 安装 kubeadm、kubelet 和 kubectl 在每台主机上执行以下命令,安装 kubeadm、kubelet 和 kubectl: ``` curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF sudo apt-get update && sudo apt-get install -y kubelet=1.14.0-00 kubeadm=1.14.0-00 kubectl=1.14.0-00 sudo apt-mark hold kubelet kubeadm kubectl ``` 安装完成后,运行以下命令,验证 Kubernetes 组件是否安装成功: ``` sudo systemctl enable kubelet && sudo systemctl start kubelet sudo kubeadm version ``` 如果能输出 kubeadm 的版本号,则 Kubernetes 组件安装成功。 3. 初始化 Kubernetes 主节点 在第一台主机上执行以下命令,初始化 Kubernetes 主节点: ``` sudo kubeadm init --pod-network-cidr=10.244.0.0/16 ``` 其中,`--pod-network-cidr` 参数用于指定 Pod 网络的 IP 地址段,这里设置为 `10.244.0.0/16`。 执行后,会输出一些信息和命令,如: ``` Your Kubernetes master has initialized successfully! To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config You can now join any number of machines by running the following on each node as root: kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef ``` 将上述信息中的命令分别在当前节点和其他节点上执行,将它们加入到 Kubernetes 集群中。 4. 安装网络插件 执行以下命令,安装 Flannel 网络插件: ``` kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 5. 验证 Kubernetes 集群 在任意一台主机上执行以下命令,查看集群状态: ``` kubectl get nodes ``` 如果能输出所有的节点信息,则 Kubernetes 集群搭建成功。 至此,我们已经成功搭建了一个 Kubernetes 集群。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值