使用Kubeadm部署Kubernetes环境

所有节点安装Docker/kubeadm/kubelet/kubectl

Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。

第一步 安装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-19.03.13 -y
$ systemctl enable docker && systemctl start docker
$ docker --version
Docker version 18.06.1-ce, build e68fc7a

配置加速器加速下载 (目的是:通过docker下载镜像的时候速度更快)

$ cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

接下来安装:kubeadm/kubelet/kubectl

第二步 添加k8s阿里云YUM软件源

目的是:到时候下载k8s相关组件的时候才能找到下载源

$ 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

1) 安装kubeadm,kubelet和kubectl

由于版本更新频繁,这里指定版本号部署:

$ yum install -y kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4
$ systemctl enable kubelet

查看kubeadm,kubelet和kubectl有没有安装成功

yum list installed | grep kubelet
yum list installed | grep kubeadm
yum list installed | grep kubectl

kubelet:运行再cluster所有节点上,负责启动pod和容器;

kubeadm:用于初始化cluster的一个工具;

kubectl:kubectl是kubernetes的命令行工具,通过kubectl可以部署和管理应用,查看各种资源,创建,和删除和更新组件;

2) 部署kubernetes master主节点(这一步是在master节点上操作)

kubeadm init --apiserver-advertise-address=master主机的ip --image-repository
registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

如果这行命令再执行的时候出现错误的话,重启一下centos即可(执行reboot命令重启)

3)在成功安装完kubernetes之后,会提示成功安装

然后依次执行下面的两条命令

 上面这三条命令执行完之后,可以使用kubectl get nodes进行查看

类似的查看命令:

  • kubectl get nodes
  • kubectl get services
  • kubectl get deployment
  • kubectl get pods
  • kubectl describe pods pod的名字  #查看pod的详情
  • kubectl delete deployment 控制器的名字  #删除控制器
  • kubectl delete pod pod的名字  #删除pod

下面这条命令是在非master主机上执行

执行上面命令之后,在master主机上执行kuberctl get nodes,可以看到node节点加入到了master里面

但是这两个节点status都是NotReady,原因是没有安装网络通信插件,两个节点之间不能通信

4)部署网络插件

下载kube-flannel.yml文件

wget -c https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

如果上面的命令执行失败,说明网络不好,可以使用本地文件上传到linux上,然后执行

kubectl apply -f kube-flannel.yml

然后再次执行kubectl get node命令,status显示ready说明集群环境搭建成功

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值