首页 > 其他分享 >kubernete学习1-基础环境部署

kubernete学习1-基础环境部署

时间:2022-10-21 21:15:14浏览次数:45  
标签:部署 root apt 学习 master ce docker k8s kubernete

一、环境信息:

操作系统:ubuntu 18.04 server amd64

docker:docker 19.03.ce

kubernetes:v1.19

IP地址 主机名   角色
172.29.9.1 k8s-master k8s-master.ilinux.io k8s-api.ilinux.io master
172.29.9.11 k8s-node1.ilinux.io k8s-node1 node1
172.29.9.12 k8s-node2.ilinux.io k8s-node2 node2
172.29.9.13 k8s-node3.ilinux.io k8s-node3 node3

操作系统安装无需配置swap分区

二、操作系统基本设定

root@k8s-master:~# timedatectl list-timezones  #设置时区为上海

root@k8s-master:~# ufw disable && ufw status  #关闭防火墙并查看状态

root@k8s-master:~# swapoff -a   #关闭swap分区,永久关闭需要在fstab文件中注释swap开头的行

修改hosts文件:

  172.29.9.1 k8s-master.ilinux.io k8s-master k8s-api.ilinux.io
  172.29.9.11 k8s-node1.ilinux.io k8s-node1
  172.29.9.12 k8s-node2.ilinux.io k8s-node2
  172.29.9.13 k8s-node3.ilinux.io k8s-node3

三、配置并启动容器

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=5:19.03.0~3-0~ubuntu-bionic

root@k8s-master:~# docker version  #查看安装的docker-ce版本

root@k8s-master:~# vim /etc/docker/daemon.json  #配置docker国内加速

  }

    "registry-mirrors": ["https://registry.docker-cn.com"]

  }

root@k8s-master:~# systemctl daemon-reload  #重新加载daemon

root@k8s-master:~# systemctl start docker.service  #启动docker服务

root@k8s-master:~# systemctl enable docker  #加入开机启动

三、kubernetes 基本组件安装

apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - 
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
root@k8s-master:~# apt install kubelet=1.19.0-00  安装kubelet,指定版本为1.19.0

root@k8s-master:~# apt install kubeadm=1.19.0-00  安装kubeadm,指定版本为1.19.0

root@k8s-master:~# apt install kubectl=1.19.0-00  安装kubectl,指定版本为1.19.0

以上操作全部需要在所有节点执行

四、kubeadm初始化

root@k8s-master:~# kubeadm init \
 --image-repository registry.aliyuncs.com/google_containers \
 --kubernetes-version v1.19.0 \
 --control-plane-endpoint k8s-api.ilinux.io \
 --apiserver-advertise-address 172.29.9.1 \
 --pod-network-cidr 10.244.0.0/16 \
 --token-ttl 0

出现如上提示表示初始化成功

参数说明:

  --image-repository:指定使用的镜像仓库,默认为gcr.io。

  --kubernetes-version:Kubernetes程序组件版本号,必须与安装的kubelet版本号相同。

  --control-plane-endpoint:控制平台固定访问端点,可以是IP或DNS名称,作为集群管理员与集群组件的kubeconfig配置文件的API server的访问地址。单控制平台部署时可不使用该选项。

  --pod-network-cidr:pod网络的地址范围,其值为CIDR,通常Flannel网络插件的默认值为10.244.0.0/16,ProjectCalico插件的默认值为192.168.0.0/16。

  --service-cidr:Service的网络地址范围,其值为CIDR格式的网络地址,默认为10.96.0.0/12。通常,仅Flannel一类的网络插件需要手动指定该地址。

  --apiserver-advertise-address:API Server通告给其他组件的IP地址,一般为Master节点用于集群内通信的IP地址,0.0.0.0表示节点上所有可用地址。

  --token-ttl:共享令牌的过期时长,默认为24小时,0表示永不过期,基于安全考虑需要将过期时间设置一具特定值。

五、配置命令行并加入node节点

1、配置命令行工具kubectl

root@k8s-master:~# mkdir -p $HOME/ .kube
root@k8s-master:~# cp -i /etc/kubernetes/admin.conf /root/.kube/config
root@k8s-master:~# chown root:root /root/.kube/config

root@k8s-master:~# kubectl get nodes  #获取节点相关状态信息

2、部署Flannel网络插件

root@k8s-master:~# kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

等候几秒后再次使用kubelet get nodes命令查看,发现STATUS状态已经变为Ready了。

3、添加工作节点

标签:部署,root,apt,学习,master,ce,docker,k8s,kubernete
From: https://www.cnblogs.com/j--huaping/p/16814551.html

相关文章

  • 一起学习 Go 语言设计模式之建造者模式
    前言你去买车,你不会只买一个轮胎、一个发动机、一个方向盘,你买的是一辆包括轮胎、方向盘、发动机、底盘、电气系统和车身等多个部件组成的完整骑车。在设计模式中,建造者模式......
  • 《计算机网络》第五章学习随笔
    5.1传输层1.传输层是主机才有的层次,为应用层提供通信服务,使用网络层的服务2.功能(1)传输层提供进程与进程之间的逻辑通信(2)复用与分用(3)传输层对收到的报文进行差错检测......
  • 嵌入式软件开发方向上的权衡(包含学习内容)
    1.第一篇嵌入式开发门槛高,涉及的知识面广,既要求懂硬件,又必须能写软件,而软硬件涉及的知识体系却又是异常的庞大;并且学习这些短期内看不到成绩,需要坚持数年,执着在一个领域......
  • 【学习笔记】JSP标签、JSTL标签、EL表达式
    JSP标签、JSTL标签、EL表达式EL表达式${}作用:获取数据执行运算获取web开发的常用对象 JSP标签拼接页面<jsp:includepage="jsp1.jsp"/>转......
  • comsol光学模块学习02--几何建模
    1.几何绘图          参考链接:https://www.bilibili.com/video/BV1K44y1v7Vx/?p=2&spm_id_from=pageDriver&vd_source=5b2d259cbcabcdea8535944c2......
  • 微服务架构学习与思考(11):开源 API 网关02-以 Java 为基础的 API 网关详细介绍
    微服务架构学习与思考(11):开源API网关02-以Java为基础的API网关详细介绍上一篇关于网关的文章:微服务架构学习与思考(10):微服务网关和开源API网关01-以Nginx为......
  • 13. Kubernetes - DaemonSet
    DaemonSet通过控制器名称可以看出:Daemon,就是用来部署守护进程的。DaemonSet用于在每个Kubernetes节点中将守护进程的副本作为后台进程运行,说白了就是在每个节点部署一......
  • Kubernetes镜像
    https://developer.aliyun.com/mirror/kubernetes点击查看代码apt-getupdate&&apt-getinstall-yapt-transport-httpscurlhttps://mirrors.aliyun.com/kubernete......
  • 学习记录19抽象类和抽象方法
    抽象类抽象方法:为了防止子类不写或漏写“方法重写”。我们之前做过练习,就是在父类当中的work方法随便写了一个代码体,原因是,知道子类的work行为是与父类不同的,并且是会进行......
  • 种类并查集学习笔记(CF1290C)
    这题一眼种类并查集(,虽然我最开始没看出来并且也不熟悉种类并查集好吧,其实是,我们不难发现,一个\(S_i\)最多只会对应两个\(m_i\)然后这两个\(m_i\)之间的关系是双向......