資安

cetnos 7.7單節點安裝部署k8s(v1.18.2)

1.配置hosts文件

vi /etc/hosts
本機ip 本機hostname 本機hostname

2.關閉防火牆, sawp等

systemctl stop firewalld
systemctl disable firewalld
swapoff -a #此處為臨時關閉
--註釋掉 /etc/fstab 裡面這一行 /dev/mapper/centos-swap swap swap defaults 0 0

3.禁用selinux

vi /etc/selinux/config
SELINUX=disabled

4.修改iptables參數 :: RHEL / CentOS 7上的一些用戶報告了由於iptables被繞過而導致流量路由不正確的問題

cat < /etc/sysctl.d/k8s.conf
vm.swappiness = 0
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
使配置生效
modprobe br_netfilter
sysctl -p /etc/sysctl.d/k8s.conf

5.安裝docker(使用阿里鏡像)

step 1: 安裝必要的一些系統工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加軟件源信息

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3: 更新並安裝Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce

Step 4: 開啟Docker服務

sudo service docker start
安裝校驗 docker version

6.安裝kubernetes

cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet && systemctl start kubelet
出現索引lgpg檢查失敗時,請用yum install -y --nogpgcheck kubelet kubeadm kubectl

7.kubeadm初始化安裝

kubeadm init --apiserver-advertise-address=本機IP --image-repository registry.aliyuncs.com/google_containers --kubernetes-version 版本號 --pod-network-cidr=10.244.0.0/16

8.初始化安裝成功後進行配置

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

9.查看kubelet狀態

systemctl status kubelet.service

10.確認每個組件的狀態

kubectl get cs

11.查看node狀態,此時會發現處於NoReady

kubectl get node

12.安裝port Network( flannel ) : k8s cluster 工作 須安裝pod網絡,否則pod之間無法通信,k8s支持多種方案

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
建議將kube-fannle文件拷貝至本地,將其中所需的鏡像進行替換。

13.檢查pod,確保每個pod都是running

kubectl get pod --all-namespaces -o wide

Leave a Reply

Your email address will not be published. Required fields are marked *