系统:CentOS Linux release 8.1.1911

配置主机名
  1. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# hostnamectl set-hostname lan
  2. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# cat /etc/hosts
  3. ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
  4. 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
  5. 172.18.129.68 lan
关闭swap,我这台阿里云主机么有配置swap空间所以不需要改,步骤我也写一下吧
  1. swapoff -a # 临时关闭swap
  2. [root@k8s-master ~]# cat /etc/fstab # 修改fstab可永久关闭swap
  3. #
  4. # /etc/fstab
  5. # Created by anaconda on Wed May 6 09:09:02 2020
  6. #
  7. # Accessible filesystems, by reference, are maintained under '/dev/disk'
  8. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
  9. #
  10. /dev/mapper/centos-root / xfs defaults 0 0
  11. UUID=a69f20da-ece1-433f-9413-88212ae46a67 /boot xfs defaults 0 0
  12. #/dev/mapper/centos-swap swap swap defaults 0 0
配置内核参数,将桥接流量传递到iptables的链
  1. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# cat > /etc/sysctl.d/k8s.conf <<EOF
  2. > net.bridge.bridge-nf-call-ip6tables = 1
  3. > net.bridge.bridge-nf-call-iptables = 1
  4. > EOF
  5. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# sysctl --system
安装开发者工具包
  1. yum install -y yum-utils device-mapper-persistent-data lvm2
添加docker的yum源
  1. yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker-ce
  1. $ sudo yum makecache fast
  2. $ sudo yum install docker-ce
node: 如果出现以下报错
  1. Error:
  2. Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  3. - cannot install the best candidate for the job
  4. - package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
  5. - package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
  6. - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  7. - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  8. - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  9. - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  10. - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
  11. (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

需要手动安装containerd.io

  1. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
  2. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# yum install containerd.io-1.2.6-3.3.el7.x86_64.rpm
  3. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# yum -y install docker-ce
配置docker镜像加速器
  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://zggyaen3.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker
安装kubectl, kubelet, kubeadm

添加阿里k8s源

  1. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# cat <<EOF > /etc/yum.repos.d/kubernetes.repo
  2. > [kubernetes]
  3. > name=Kubernetes
  4. > baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
  5. > enabled=1
  6. > gpgcheck=1
  7. > repo_gpgcheck=1
  8. > gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
  9. > EOF

安装

  1. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# yum install kubectl kubelet kubeadm
  2. [root@iZwz9e3t4tj14jzewdtvj8Z ~]# systemctl enable kubelet
初始化集群
  1. [root@lan ~]# kubeadm init --kubernetes-version=1.18.0 \
  2. --apiserver-advertise-address=192.168.22.12 \
  3. --image-repository registry.aliyuncs.com/google_containers \
  4. --service-cidr=10.11.0.0/16 --pod-network-cidr=10.1.0.0/16

根据记录生成的最后部分内容,创建kubectl

  1. [root@lan ~]# mkdir -p $HOME/.kube
  2. [root@lan ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  3. [root@lan ~]# chown $(id -u):$(id -g) $HOME/.kube/config
  4. [root@lan ~]# source <(kubectl completion bash)
  5. [root@lan ~]# kubectl get node
  6. NAME STATUS ROLES AGE VERSION
  7. lan NotReady master 50s v1.18.2

查看pod

  1. [root@lan ~]# kubectl get pod --all-namespaces
  2. NAMESPACE NAME READY STATUS RESTARTS AGE
  3. kube-system calico-kube-controllers-6fcbbfb6fb-56cpv 0/1 Pending 0 15s
  4. kube-system calico-node-x9wqb 0/1 Init:0/3 0 15s
  5. kube-system coredns-7ff77c879f-6jdsj 0/1 Pending 0 73s
  6. kube-system coredns-7ff77c879f-kqpzb 0/1 Pending 0 73s
  7. kube-system etcd-lan 1/1 Running 0 84s
  8. kube-system kube-apiserver-lan 1/1 Running 0 84s
  9. kube-system kube-controller-manager-lan 1/1 Running 0 84s
  10. kube-system kube-proxy-mcrmm 1/1 Running 0 73s
  11. kube-system kube-scheduler-lan 1/1 Running 0 84s

node节点为NotReady,因为corednspod没有启动,缺少网络pod

安装calico网络
  1. [root@lan ~]# kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  2. [root@lan ~]# kubectl get pod --all-namespaces
  3. NAMESPACE NAME READY STATUS RESTARTS AGE
  4. kube-system calico-kube-controllers-6fcbbfb6fb-56cpv 1/1 Running 0 22m
  5. kube-system calico-node-x9wqb 1/1 Running 0 22m
  6. kube-system coredns-7ff77c879f-6jdsj 1/1 Running 0 23m
  7. kube-system coredns-7ff77c879f-kqpzb 1/1 Running 0 23m
  8. kube-system etcd-lan 1/1 Running 0 23m
  9. kube-system kube-apiserver-lan 1/1 Running 0 23m
  10. kube-system kube-controller-manager-lan 1/1 Running 0 23m
  11. kube-system kube-proxy-mcrmm 1/1 Running 0 23m
  12. kube-system kube-scheduler-lan 1/1 Running 0 23m

清除污点

  1. kubectl taint node --all node-role.kubernetes.io/master-

原文链接: https://www.cnblogs.com/sonyy/p/13156439.html

在阿里云上单机部署k8s1.18的更多相关文章

  1. 在阿里云上单机部署k8s

    系统:CentOS Linux release 8.1.1911 配置主机名 [root@iZwz9e3t4tj14jzewdtvj8Z ~]# hostnamectl set-hostname la ...

  2. 阿里云上docker部署nginx实现反向代理

    简介   需要从镜像仓库找到所需要的nginx版本pull下来.(地址:https://hub.docker.com/) 1.docker pull nginx 1.挂载目录 1.1 获取nginx. ...

  3. python web开发c6——阿里云上ubuntu+flask+gunicorn+nginx服务器部署(一)简单测试

    简述 Nginx在服务器部署中的作用 请求通过Nginx实现反向代理,将请求提交给代理服务器.本文中只用了一台服务器,所以是代理到本机. gunicorn的作用 作为服务器代码的容器.接收Nginx的 ...

  4. 阿里云上部署了zabbix,突然无法收到报警邮件的解决办法

    在阿里云上部署了zabbix,一直能正常接收到zbx发来的报警邮件(报警邮箱是163的),不知是什么原因,突然无法接收到报警邮件了. 但在服务器上手动执行echo "hello"| ...

  5. 如何在阿里云上部署war包到tomcat服务器

    一. 准备工作:xshell和xftp 首先我们得确保,xshell能够远程连接阿里云ECS,xftp能够保证windows和linux之间的文件传输(当然也可以选择FileZilla,但xftp感觉 ...

  6. 从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库

    开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database ...

  7. 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建

    准备: 两台配置CentOS 7.3的阿里云ECS服务器: hadoop-2.7.3.tar.gz安装包: jdk-8u77-linux-x64.tar.gz安装包: hostname及IP的配置: ...

  8. 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析

    在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...

  9. 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题

    今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧. 而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存 ...

随机推荐

  1. Golang超时机制--2秒内某个函数没被调用就认为超时

    Golang超时机制--2秒内某个函数没被调用就认为超时 需求描述 当一整套流程需要其他程序来调用函数完成时通常需要一个超时机制,防止别人程序故障不调你函数导致你的程序流程卡死 实现demo pack ...

  2. django 导出excel react下载 --- 导出并下载

    Dajngo查询数据,查询出来之后生成Excel保存本地 class ExportExcel(APIView): def post(self, request, *args, **kwargs): e ...

  3. MetingJS 是如何配合 Aplayer 加载歌单的?

    Meting.js 介绍 Meting.js 依赖 APlayer.js,扩展了 APlayer.js 的功能,能够使 APlayer.js 加载网易云音乐.QQ 音乐.虾米音乐中的歌单. 安装 &l ...

  4. 什么是TCP和UDP?

    1.什么是IP和TCP? Internet协议(IP)是Internet的地址系统,具有将数据包从源设备传递到目标设备的核心功能.IP是建立网络连接的主要方式,奠定了Internet的基础.IP不负责 ...

  5. 2.15、Centos7找回root密码

    1. 2. 3. 4.补充: centos7如何进入单用户模式:

  6. Jenkins之搭建部署

    一.部署环境 操作系统:Centos7 软件: apache-tomcat-9.0.48--地址:https://tomcat.apache.org/download-90.cgi jdk-8u291 ...

  7. Flask(8)- jinja2 模板入门

    前言 之前的文章有个栗子,视图函数可以直接返回一段 html 代码,浏览器可以自动渲染 但是当你的 HTML 非常复杂的话,也要整串写在代码里面吗,这显然不合理的,可阅读性也非常差 所以,就诞生了 J ...

  8. Hadoop:Hadoop的学习路线

    Hadoop生态架构技术   1.语言基础 Java:掌握javase知识,多理解和实践在Java虚拟机的内存管理.以及多线程.线程池.设计模式.并行化就可以,不需要深入掌握. Linux:系统安装( ...

  9. 关于中文版的manpages

    可以从下面下载对应的包: https://code.google.com/p/manpages-zh/ https://github.com/lidaobing/manpages-zh 目前只有一部分 ...

  10. diff -u:内核开发的新项目

    译至:http://www.linuxjournal.com/content/diff-u-whats-new-kernel-development-1 Linux的一个问题是它的系统调用实现 . 正 ...