kubernete安装
作者:互联网
## 1. 修改主机名
hostnamectl --static set-hostname ${主机名}
## 2. 参数修改
#### 关闭swap
```
swapoff -a
cat /etc/fstab #永久关闭swap,注释swap行
#/dev/mapper/centos-lv_swap swap swap defaults 0 0
```
#### K8s master 和worker节点操作
```
cat >> /etc/sysctl.conf <> /etc/security/limits.conf < /etc/docker/daemon.json < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
```
离线安装如下
在k8s集群所有节点
```
sudo yum -y install kubeadm-1.18.16 kubectl-1.18.16 kubelet-1.18.16
sudo systemctl enable kubelet
```
#### 将各个端口加入firewalld
#### 179 calico bgp port, 2379/2380 etcd port, 6443 apiserver port, 10250 kubelet port, 8472 vxlan port, 9099 calico port, 112 arp 广播
#### master
```
firewall-cmd --permanent --add-port=6443/tcp
firewall-cmd --permanent --add-port=2379-2380/tcp
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=10251/tcp
firewall-cmd --permanent --add-port=10252/tcp
firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --permanent --add-port=8472/udp
firewall-cmd --permanent --add-port=443/udp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=9153/tcp
firewall-cmd --add-masquerade --permanent
firewall-cmd --permanent --add-port=30000-32767/tcp
```
#### slave
```
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --permanent --add-port=8472/udp
firewall-cmd --permanent --add-port=443/udp
firewall-cmd --permanent --add-port=30000-32767/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=9153/tcp
firewall-cmd --add-masquerade --permanent
```
#### istio
```
firewall-cmd --permanent --add-port=15010-15014/tcp
firewall-cmd --reload
```
## 5. 集群初始化
### 5.1单节点部署初始化
#### 单节点初始化集群, 在k8s-master上执行
`kubeadm init --kubernetes-version=v1.18.16 --pod-network-cidr=172.31.0.0/16 --service-cidr=172.16.0.0/16`
#### 记住下图标红的, 用于node节点加入集群
`kubeadm join 192.168.10.11:6443 --token 1gic6i.t9skvueaamqcdwbx \
--discovery-token-ca-cert-hash sha256:5f48a2053c63930aff30c06b440275436e56c8e9a6a6ef9b7986dcfbd8a3a36e`
### 5.2 高可用集群初始化
使用haproxy+keepalive, 使用单独的两个节点部署
注: 这一步是为了负载三个master节点6443端口, 如果项目业务环境提供负载均衡功能, 可以不必部署keepalived+haproxy, 向客户方申请负载均衡三台master, 并开通6443端口即可
#### 安装keepalive 和haproxy在两个单独的节点, 在这两个节点也需要加firewalld策略
```
yum install haproxy keepalived -y
sudo systemctl enable keepalived
sudo systemctl enable haproxy
sudo firewall-cmd --permanent --add-port=6443/tcp --add-port=112/tcp
sudo firewall-cmd --reload
```
#### 修改haproxy配置
```
cat > /etc/haproxy/haproxy.cfg<
标签:--,kubernete,cmd,firewall,add,permanent,安装,port 来源: https://www.cnblogs.com/wes1502/p/kubernete-an-zhuang.html