一、安装Docker

1. 配置Docker

docker安装完成后需要配置cgroup驱动为systemd来增强稳定性

  1. sudo vim /etc/docker/daemon.json
  1. {
  2. "exec-opts": ["native.cgroupdriver=systemd"],
  3. "log-driver": "json-file",
  4. "log-opts": {
  5. "max-size": "100m"
  6. },
  7. "storage-driver": "overlay2",
  8. "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]
  9. }
  1. mkdir -p /etc/systemd/system/docker.service.d
  1. systemctl daemon-reload
  2. systemctl restart docker

二、准备工作

1.关闭swap

  1. /*暂时关闭*/
  2. sudo swapoff -a
  1. /*永久关闭*/
  2. sudo vim /etc/fstab

2. 确保服务器的时区一致

1) 强制更改时区为上海

  1. ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  2. bash -c "echo 'Asia/Shanghai' > /etc/timezone"

2) 安装ntpdate

  1. apt-get install -y ntpdate

如果出现以下错误

  1. E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
  2. E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

执行2个命令解决

  1. sudo rm /var/cache/apt/archives/lock
  2. sudo rm /var/lib/dpkg/lock

3) 使用阿里云的时间服务器更新

  1. ntpdate ntp1.aliyun.com

三、安装kubeadm、kubelet、kubectl

1.添加apt key以及源

  1. sudo apt update && sudo apt install -y apt-transport-https curl
  2. curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
  3. echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" >>/etc/apt/sources.list.d/kubernetes.list

2. 安装最新版kubelet

  1. sudo apt update
  2. sudo apt install -y kubelet=1.15.2-00 kubeadm=1.15.2-00 kubectl=1.15.2-00
  3. sudo apt-mark hold kubelet=1.15.2-00 kubeadm=1.15.2-00 kubectl=1.15.2-00

3. 安装kubernetes集群

  1. kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 | tee /etc/kube-server-key

4. 拷贝kubeconfig文件到家目录的.kube目录

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

5. 安装网络插件

  1. kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml

6. 查看kube-system命名空间下的pod状态

  1. kubectl get pod -n kube-system

7. 查看加入节点命令

  1. cat /etc/kube-server-key | tail -2

  1. export KUBECONFIG=/etc/kubernetes/kubelet.conf
  2. kubectl get nodes

四、命令补全

  1. apt-get install bash-completion
  2. source <(kubectl completion bash)
  3. echo "source <(kubectl completion bash)" >> ~/.bashrc
  4. source ~/.bashrc

参考链接:

https://blog.csdn.net/qq_44895681/article/details/107414231

https://www.cnblogs.com/xiao987334176/p/11317844.html

https://blog.csdn.net/bigboygo/article/details/77119334

https://blog.csdn.net/woshiheweigui/article/details/109200180

https://github.com/youngdou/notes/issues/19

在Ubuntu安装kubernetes的更多相关文章

  1. Ubuntu 安装 Kubernetes

    Kubernetes是Google开源的容器集群管理系统.它构建于docker技术之上,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-Pa ...

  2. ubuntu多节点安装kubernetes

    在ubuntu上面多节点安装kubernetes,假设有两台机器 master:192.168.1.84 minion:192.168.1.83 You wil now need to configu ...

  3. Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装

    首先说一下我的环境, 我是在windows 10 上面建了一个ubuntu18的虚拟机,同时由于某些原因 不受网络限制, 所以安装比较顺利. Install 1.安装并启用 Docker  sudo ...

  4. Ubuntu 国内安装 kubernetes

    由于墙的原因,国内要安装 kubernetes 非常的麻烦,因此只要解决这个问题,就可以顺利安装 kubernetes 的 三个官法工具 kubelet.kubeadm.kubectl. 安装环境: ...

  5. Linux安装kubernetes

    使用KUBEADM安装KUBERNETES V1.14.0 一.环境准备      操作系统:Centos 7.5      一台或多台运⾏行行着下列列系统的机器器: ​ Ubuntu 16.04+ ...

  6. 使用kubeadm安装kubernetes v1.14.1

    使用kubeadm安装kubernetes v1.14.1 一.环境准备 操作系统:Centos 7.5 ​ ⼀ 一台或多台运⾏行行着下列列系统的机器器: ​ Ubuntu 16.04+ ​ Debi ...

  7. Centos 使用kubeadm安装Kubernetes 1.15.3

    本来没打算搞这个文章的,第一里面有瑕疵(没搞定的地方),第二在我的Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装 也有安装,第三 和社区的问文章比较雷同 https:// ...

  8. 使用Kubeadm安装Kubernetes【单Master节点】

    参考:Kubernetes官方文档 Kubernetes安装方案选择    Centos 7 配置科学上网 安装Calico网络插件 kubernetes-dashboard部署 Kubernetes ...

  9. CentOS 7.5 使用 yum 安装 Kubernetes 集群(二)

    一.安装方式介绍 1.yum 安装 目前CentOS官方已经把Kubernetes源放入到自己的默认 extras 仓库里面,使用 yum 安装,好处是简单,坏处也很明显,需要官方更新 yum 源才能 ...

随机推荐

  1. Axis2开发webservice详解

    Axis2开发webservice详解 标签: javawebserviceAxis2 2015-08-10 10:58 1827人阅读 评论(0) 收藏 举报  分类: JAVA(275)  服务器 ...

  2. Linux 时间同步 02 ntpd、ntpdate的区别

    Linux 时间同步 02 ntpd.ntpdate的区别 目录 Linux 时间同步 02 ntpd.ntpdate的区别 [一]这样做不安全. [二]这样做不精确. [三]这样做不够优雅. ntp ...

  3. Base 128 Varints 编码(压缩算法)

    Base 128 Varint可以说是一种编码方式,也可以说是一种压缩算法.这种压缩算法是用来压缩数字的传输的,压缩的依据是基于一个现实:越小的数字,越经常使用 我们来看看一个例子: 如果我们要网络传 ...

  4. Apache的Mod_rewrite学习(RewriteRule重写规则的语法) 转

    RewriteRuleSyntax: RewriteRule Pattern Substitution [flags] 一条RewriteRule指令,定义一条重写规则,规则间的顺序非常重要.对Apa ...

  5. 在Docker下进行MyCAT管理双主双从MySQL集群

    前言 在Docker下双主双从MySQL集群模拟 https://www.cnblogs.com/yumq/p/14259964.html 本文实验配置文件 Docker拉取MyCAT镜像 如果没启动 ...

  6. 吃透论文——推荐算法不可不看的DeepFM模型

    大家好,我们今天继续来剖析一些推荐广告领域的论文. 今天选择的这篇叫做DeepFM: A Factorization-Machine based Neural Network for CTR Pred ...

  7. Hadoop伪分布式模式

    搭建在单一服务器 基于官方文档 http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster ...

  8. 自定义注解,更优雅的使用MP分页功能

    分页功能使用 MP的分页功能是通过MyBatis的插件实现的,使用起来也非常简单.下面先介绍下使用方式. step1:配置分页插件 @Configuration @EnableTransactionM ...

  9. C#处理医学图像(二):基于Hessian矩阵的医学图像增强与窗宽窗位

    根据本系列教程文章上一篇说到,在完成C++和Opencv对Hessian矩阵滤波算法的实现和封装后, 再由C#调用C++ 的DLL,(参考:C#处理医学图像(一):基于Hessian矩阵的血管肺纹理骨 ...

  10. Shiro的认证与授权

    shiro实战教程 一.权限管理 1.1什么是权限管理 基本上涉及到用户参与的系统都需要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以 ...