2.master节点安装
#这里我在k8s-01 k8s-02 k8s-03执行master节点操作
yum install -y \
kubeadm-1.18.3 \
kubectl-1.18.3 \
kubelet-1.18.3 \
--disableexcludes=kubernetes && \
systemctl enable kubelet
#kubeadm 安装集群
#kubectl 通过命令行访问apiserver
#kubelet 负责Pod对应容器的创建、停止等任务
#node节点不需要安装kubectl,kubectl是一个agent读取kubeconfig访问api-server来操作集群,node节点一般不需要
3.node节点安装
#node节点安装默认是在所有节点安装,但是k8s中的master节点已经安装过了,我们就只在k8s-04 k8s-05中安装
yum install -y \
kubeadm-1.18.3 \
kubelet-1.18.3 \
--disableexcludes=kubernetes && \
systemctl enable kubelet
我这里的环境是虚拟机,如果是云环境可以直接用slb的方式,这一步可以跳过。 虚拟机这里使用nginx local proxy
1.需要在master节点安装
#首先我们在原有的基础上添加一个host,只需要在master节点上执行即可
cat >>/etc/hosts<< EOF
192.168.31.100 k8s-master-01
192.168.31.101 k8s-master-02
192.168.31.102 k8s-master-03
192.168.31.105 k8s-master
EOF
2.添加nginx配置文件
mkdir -p /etc/kubernetes
cat > /etc/kubernetes/nginx.conf << EOF
user nginx nginx;
worker_processes auto;
events {
worker_connections 20240;
use epoll;
}
error_log /var/log/nginx_error.log info;
stream {
upstream kube-servers {
hash $remote_addr consistent;
server k8s-master-01:6443 weight=5 max_fails=1 fail_timeout=3s; #这里可以写IP
server k8s-master-02:6443 weight=5 max_fails=1 fail_timeout=3s;
server k8s-master-03:6443 weight=5 max_fails=1 fail_timeout=3s;
}
server {
listen 8443 reuseport;
proxy_connect_timeout 3s;
# 加大timeout
proxy_timeout 3000s;
proxy_pass kube-servers;
}
}
EOF
3.在master节点启动nginx容器
#这里我使用容器运行nginx,当然自己也可以写成staticPod的yaml在init的阶段放入目录里,或者二进制安装nginx
docker run --restart=always \
-v /etc/kubernetes/nginx.conf:/etc/nginx/nginx.conf \
-v /etc/localtime:/etc/localtime:ro \
--name k8s \
--net host \
-d \
nginx:alpine
4.启动完毕可以检查看一下
[root@k8s-01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d8b3955bda68 nginx:alpine "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes k8s
[root@k8s-01 ~]# lsof -i:8443
lsof: no pwd entry for UID 101
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 3360 root 5u IPv4 58860 0t0 TCP *:pcsync-https (LISTEN)
lsof: no pwd entry for UID 101
nginx 3374 101 5u IPv4 58860 0t0 TCP *:pcsync-https (LISTEN)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。