目标是创建单master节点,3node节点的k8s集群。

具体IP配置如下

中控机 harbor

10.0.0.94

k8s_master

10.0.0.115

k8s_node01

10.0.0.116

k8s_node02

10.0.0.117

k8s_node03

10.0.0.119

中控机部署ansible。harbor安装在下文中使用

为保证通信,各个主机间使用hosts,后续可以采用dns方式

10.0.0.94 harbor.tangotz.com
10.0.0.115 k8s-master01
10.0.0.116 k8s-node01
10.0.0.117 k8s-node02
10.0.0.119 k8s-node03


创建k8s各个节点与中控机之间的ssh信任关系,中控机上执行

ssh-copy-id root@10.0.0.115
ssh-copy-id root@10.0.0.116
ssh-copy-id root@10.0.0.117
ssh-copy-id root@10.0.0.119

修改中控机ansible hosts文件

# /etc/ansible/hosts

[k8snode]
10.0.0.116
10.0.0.117
10.0.0.110
[k8smaster]
10.0.0.115
[k8s:children]
k8smaster
k8snode

通过ansible修改k8s节点主机名

ansible -m shell 10.0.0.116 -a 'hostnamectl set-hostname k8s-node01'
ansible -m shell 10.0.0.117 -a 'hostnamectl set-hostname k8s-node02'
ansible -m shell 10.0.0.119 -a 'hostnamectl set-hostname k8s-node03'
ansible -m shell 10.0.0.115 -a 'hostnamectl set-hostname k8s-master01'

将hosts文件推送到各个节点

ansible -m copy k8s -a 'src=hosts dest=/etc/hosts'

向k8s节点安装基础环境

docker安装脚本

# cat init_docker.sh

# 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce

# 镜像加速 xxx需要替換為通過阿里雲申請的加速域名
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],
  "insecure-registries": ["harbor.tangotz.com"] 
}
EOF

# 开启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker

使用ansible推送次脚本并执行

ansible -m script k8s -a 'init_docker.sh'

校验一下docker版本

ansible k8s -a 'docker --version '

从0开始搞K8S:03-基础环境_Docker

k8smaster上与k8snode创建ssh互信关系。

在master上创建sshkey,然后使用ssh-copy-id将master的key传递给nodes

略~~~

至此,基础docker环境部署完毕