一、环境信息:
操作系统: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