知识库
并发编程
  • 分类
  • 标签
  • 归档
友情连接

luoliang

吾生也有涯,知也无涯
并发编程
  • 分类
  • 标签
  • 归档
友情连接
  • docker的基本概念和用法
  • docker安装MySQL
  • docker-compose安装
  • k8s安装教程
    • 安装前的基础配置
    • 安装
      • 安装遇到问题
  • k8s
weiluoliang
2024-04-18
目录

k8s安装教程

# 安装前的基础配置

安装机器后的基本设置,本教程使用centos7 ,总3台机器,k8s-master,k8s-node1,k9s-node2。

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭 selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久关闭
setenforce 0 # 临时关闭
# 最好重启一下机器

# 关闭 swap
swapoff -a # 临时关闭
# 永久关闭swap
vim /etc/fstab 
#注释掉swap这行
# UUID=23af23ca-29c7-4013-b89b-a06f93cbcc85 swap                    swap    defaults        0 0
free -m  # 查看是否修改swap分区成功
# Swap:             0   0    0     3个0表示修改成功了

# 修改机器名,分别在3台机器上执行 
hostnamectl set-hostname k8s-master  # 修改第一台机器,这台是主节点
hostnamectl set-hostname k8s-node1   # 修改第二台机器,从节点1
hostnamectl set-hostname k8s-node2   # 修改第三台机器,从节点2
## 退出系统,重新登录就看到新的机器名

# 机器hosts配置,在k8s-master上执行
cat >> /etc/hosts << EOF
192.168.29.128 k8s-master
192.168.29.129 k8s-node1
192.168.29.130 k8s-node2
EOF

## docker安装19版本的
### 设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install -y docker-ce-3:19.03.9-3.el7.x86_64 # 这是指定版本安装
docker version # 查看
#显示版本  Version:          19.03.9
systemctl enable docker # 开机启动docker
systemctl start docker # 启动docker


# 流量转发到iptables
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system # 生效    

# 添加k8s yum源
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

# 安装

# 查看可以安装的版本
yum list kubelet --showduplicates | sort -r

# 安装kubelet,kubeadm,kubectl 指定版本安装  使用kubeadm的方式安装(三台机器都安装)
# yum remove -y kubelet-* kubeadm-* kubectl-* 卸载命令
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0

# 开启 kubelet
systemctl enable kubelet  # 开启自启动
systemctl start kubelet   # 启动kubelet

# 在k8s-master这台机器上执行命令  192.168.29.128为k8s-master的IP
kubeadm init --apiserver-advertise-address=192.168.29.128 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
1
2
3
4
5
6
7
8
9
10
11
12
13

如果出现下图,说明初始化OK了

# 执行这3个命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 查看nodes状态
kubectl get nodes
##NAME         STATUS     ROLES    AGE   VERSION
##k8s-master   NotReady   master   12m   v1.18.0
##有一个master节点,但是状态是 NotReady ,需要安装一个网络插件才能正常

#安装网络插件
kubectl apply -f http://media.ruanyou.top/blog/config/kube-flannel.yml

# 在k8s-node1,k8s-node2执行以下命令,加入集群
kubeadm join 192.168.29.128:6443 --token 0wl4qj.r0qoe4oxl1h7zgnq \
    --discovery-token-ca-cert-hash sha256:fae7e766a22ec19ac2a61bc4efa942523fccee08050faa3d4cd041b3204a168a
    
# 加入集群后,查询集群状态
[root@k8s-master .kube]# kubectl get nodes
NAME         STATUS     ROLES    AGE   VERSION
k8s-master   Ready      master   18m   v1.18.0
k8s-node1    Ready      <none>   50s   v1.18.0  
k8s-node2    NotReady   <none>   35s   v1.18.0 # NotReady 需要稍等一下才能正常
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

到这里,恭喜! 你安装成功了。

# 安装遇到问题

ERROR Port-10250: Port 10250 is in use

端口被占用了, 使用 netstat -ntpl 查询到是kubelet占用了 ,使用 pkill kubelet 结束进程后再执行kubeadm init就可以了.

上次更新: 2024/04/18, 16:13:54
docker-compose安装

← docker-compose安装

最近更新
01
Linux常用命令
09-04
02
SpringBoot启动脚本
08-31
03
安装监控grafana
08-30
更多文章>
Theme by Vdoing | Copyright © 2022-2024 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式