typora-root-url: media
kubernetes 二进制部署
一、环境部署
master 1个
etcd 数据库1个
node节点 2个
coredns 组件
负载均衡器 nginx 1 个
控制节点 ansible 1个
二、部署kubeasz部署脚本
容器的调度流程
etcd 定时备份
container running 容器运行时
WAF web应用防护系统
kubeadm安装的k8s证书有限期为一年。
公有云实现k8s实验
net.ipv4.ip_nonlocal_bind=1
允许监听在本机没有的ip地址
配置打开的文件句柄数
1.安装配置docker环境
阿里云镜像
配置daemon.json 配置国内加速镜像。
cat > /etc/docker/daemod.json << EOF
{
"registry-mirrors": ["https://9trtp2ph.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
开始前准备
*/5 * * * * ntpdate ntp.aliyun.com &>/dev/null && hwclock -w
master节点实现高可用
安装keepalived
配置文件内容
master实现负载均衡
安装haproxy
配置文件
安装docker-compose
下载harbor二进制文件
解压
配置文件 修改域名和密码
openssl制作制作key 和 crt
执行脚本开启镜像
把crt证书分发到指定主机的/etc/docker/certs.d/harbor.magedu.local/
一、修改ezdown k8s版本 执行./ezdown -D
./ezctl new k8s-cluster1
执行./ezctl setup k8s-cluster1 01
三、各个组件的讲解
Alpha:开发版
Bata:测试版
v1:稳定版实现
AIPserver :验证权限 和验证操作的语法 执行操作返回结果。
kube-scheduler :一个控制进程。把pods指派到指定的node节点上。
pod和容器的生命周期
四、部署流程
一、完成管理节点的免密码登录
1.生成公钥和私钥
[ssh-keygen 详细指令学习链接]()
ssh-keygen :管理和转换认证密码
-f 指定公钥和私钥生成的目录
-P 指定
ssh-keygen -P "" -t rsa -f ~/.ssh/id_rsa 无交互生成密钥对
ssh-copy-id
#!/bin/bash
username=root
password=tarena123
set timeout 60
if ! [ -f /root/.ssh/id_rsa -a /root/.ssh/id_rsa.pub ] ;then
echo "===============ssh-keygen=============="
ssh-keygen -P "" -t rsa -f ~/.ssh/id_rsa || echo 'ssh-keygen complete '
expect eof
EOF
fi
rpm -q expect || yum install expect -y
while read ip ;do
expect << EOF
set timeout 30
spawn ssh-copy-id $username@$ip
expect {
"yes/no" {send "yes\n";exp_continue }
"password:" { send "$password\r\n" }
}
expect eof
EOF
done < host.txt