Kubernetes K8s 安装部署 Ubuntu18.04 Linux下

可以查看b站动力节点视频学习更多

什么是K8s?

请移步链接查看k8s简介

K8s环境部署要求

1、Linux系统
2、硬件配置:2GB+,CPU 2核+
3、集群间可相互通信
4、集群可以访问外网(这个比较方便拉取镜像,离线操作另请搜索)
5、禁止swap分区

K8s环境准备

禁止防火墙

#临时
systemtcl stop firewalld
#永久
systemtcl disable firewalld

关闭swap

#临时
swapoff -a 
#永久
sed -ri 's/.*swap.*/#&/' /etc/fstab 

在master节点上添加nodes

#打开这个文件
vim /etc/hosts 
#添加以下两行
192.168.xx.xxx master
192.168.xx.xxx client
#这里部署两台机器,需要添加对应的ip地址,一台作为服务节点,一台作为客户机。

设置网桥参数

 #打开配置
 vim /etc/sysctl.d/k8s.conf 
 #添加以下两行
 net.bridge.bridge-nf-call-ip6tables=1
 net.bridge.bridge-nf-call-iptables=1
 #保存并退出后,输入命令使其生效
 sysctl --system

时间同步

#安装插件
sudo apt-get install ntpdate -y
#同步时间
ntpdate time.windows.com

安装Docker

因为k8s属于管理容器的一个软件,所以必须现有容器才行
移步Docker教程

先卸载旧版本

sudo apt-get remove docker docker-engine docker.io containerd runc

更新apt

sudo apt-get update

安装依赖包

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

添加Docker gpg 密钥

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

设置稳定版仓库

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

再次更新apt

 sudo apt-get update

查看可用版本

apt-cache madison docker-ce

大概长这样
在这里插入图片描述

安装特定版本

 sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
 #将<VERSION_STRING>更换成你想要的版本字符串 比如5:19.03.14~3-0~ubuntu-bionic

测试是否安装成功

sudo docker run hello-world

如果成功你会看到docker的启动信息!

可以配置一下镜像加速

#没有这个文件你就建一个
vim /etc/docker/daemon.json
#加入
{
#这个地址你要自己去阿里云上注册,具体请搜一下怎么申请
  "registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"]
}

使用kubeadm、Kubelet以及Kubectl

创建kubernetes的source文件:

sudo curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

sudo tee /etc/apt/sources.list.d/kubernetes.list <<-'EOF'
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF

sudo apt-get update

查看可用的版本

apt-cache madison kubeadm

安装指定版本

#你可以换成你自己想要的版本
sudo apt-get install -y kubelet=1.18.6-00 kubeadm=1.18.6-00 kubectl=1.18.6-00

起一下服务

systemctl enable kubelet.service

这就差不多了,直接初始化master节点

#这里除了你要更换你的版本和服务ip地址,其他的不要动了,我也不知道咋回事反正
kubeadm init --kubernetes-version=1.18.6 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.xx.xxx --service-cidr=10.96.0.0/12

成功的话你会看到这个!

然后执行这里面的命令

  #用你自己的,不然可能会错
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

然后你的master算是搞好了
在你的node机器上可以执行下面的kubeadm join指令加入node

在这里插入图片描述
找到上面的这句话,下面的命令复制粘贴到你的客户机上去执行

kubeadm join 192.168.xx.xxx:6443 --token xxxxxxxxxxxxx \
    --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxx

最后一步,下载kube-flannel.yaml文件

wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
#然后应用他
kubectl apply -f kube-flannel.yml

万事大吉,估计ok了
查看nodes

 kubectl get nodes

等一会之后,你会看到全部ready!!!!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐