亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

K8s集群你會(huì)安裝了嗎

IT那活兒 / 982人閱讀
K8s集群你會(huì)安裝了嗎

點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!

現(xiàn)在業(yè)務(wù)云化越來(lái)越普遍,新的云平臺(tái)核心便是K8S,為了能夠跟隨業(yè)務(wù)變革的步伐,慢慢塌上學(xué)習(xí)K8S之路,未來(lái)會(huì)和大家一起學(xué)習(xí)進(jìn)步。

操作系統(tǒng)環(huán)境準(zhǔn)備


1. 虛擬機(jī)準(zhǔn)備

在一般情況都是常規(guī)操作,可參考網(wǎng)上資料布署。

2. 配置主機(jī)名稱

service NetworkManager status
service NetworkManager stop
chkconfig NetworkManager off
hostnamectl set-hostname k8s1
hostnamectl set-hostname k8s2 # 使用這個(gè)命令會(huì)立即生效且重啟也生效
hostnamectl set-hostname k8s3

3. 配置/etc/hosts

  • 192.168.1.200 k8s1
  • 192.168.1.201 k8s2
  • 192.168.1.202 k8s3

4. 關(guān)閉防火墻

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

service iptables status
service iptabesl stop
chkconfig iptables off
備注:生產(chǎn)環(huán)境如果存在iptables,需修改解決iptables而導(dǎo)致流量無(wú)法正確路由的問(wèn)題。
cat < /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

5. 關(guān)閉selinux

vi /etc/selinux/config
添加如下SELINUX=disabled
注釋掉SELINUX=enforcing,SELINUXTYPE=targeted

setenforce 0
sed -i s/^SELINUX=enforcing$/SELINUX=permissive/ /etc/selinux/config

6. 生產(chǎn)要關(guān)閉swap

  • 關(guān)閉swap內(nèi)存。
  • 使用swap會(huì)影響性能。kubelet禁用swap。
1)系統(tǒng)級(jí)臨時(shí)關(guān)閉
swapoff -a ,重啟后失效。
2)系統(tǒng)級(jí)全部關(guān)閉
vi /etc/fstab,注釋掉swap那一行。
需要重啟,重啟后不失效。

7. 內(nèi)核參數(shù)修改

  • /proc/sys/net/ipv4/ip_forward這個(gè)文件表示是否打開IP轉(zhuǎn)發(fā)。
  • cat /proc/sys/net/ipv4/ip_forward,該文件內(nèi)容為0,表示禁止數(shù)據(jù)包轉(zhuǎn)發(fā),1表示允許。
vi /etc/sysctl.conf && sysctl -p
net.ipv4.ip_forward = 1

8. Yum阿里云源配置及基礎(chǔ)包安裝

wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.06.3.ce-3.el7.x86_64.rpm
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install conntrack socat ###k8s基礎(chǔ)包
yum -y install yum-utils device-mapper-persistent-data lvm2
yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm

9. Docker安裝

yum remove docker 
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
rm -rf /usr/local/docker
rm -rf /etc/docker
yum -y install yum-utils device-mapper-persistent-data lvm2
yum -y install docker-ce-18.06.3.ce-3.el7.x86_64.rpm

10. 調(diào)整docker部分參數(shù)cggroup驅(qū)動(dòng)

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-EOF
{
"registry-mirrors": ["https://dkqah25p.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl daemon-reload
systemctl restart docker
####默認(rèn)cgroupfs,k8s官方推薦systemd,否則初始化出現(xiàn)Warning

11. 檢查docker參數(shù)

檢查確認(rèn)docker的Cgroup Driver信息。

docker info |grep Cgroup

K8S集群安裝概述


1. Docker與k8s兼容性

  • 如果kubernetes的版本為1.8-1.11,docker版本必須為1.11.2-1.13.1和docker-ce版本為17.03.x。
  • 如果kubernetes的版本從1.12開始,docker版本必須為17.06/17.09/18.06。
詳細(xì)版本依賴請(qǐng)參照該地址:
https://stackoverflow.com/questions/53256739/which-kubernetes-version-is-supported-in-docker-version-18-09

2. K8s集群的安裝方式

1)kubeadm

通過(guò) kubeadm 安裝,需要手工安裝 docker,kubelet,kubeadm 等。

2)kind

通過(guò) kind 安裝,全自動(dòng),無(wú)手工步驟,快捷簡(jiǎn)單,但是節(jié)點(diǎn)是基于容器而不是虛擬機(jī)的。

3)minikube

通過(guò) minikube 安裝。

3. Kubeadm聯(lián)網(wǎng)安裝方式示例

1)K8SYum源配置

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

2)K8S1作為Master節(jié)點(diǎn)安裝kubeadm

  • 安裝kubelet 和kubeadm以及kubectl

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet ##啟動(dòng)并設(shè)置開機(jī)啟動(dòng)
systemctl status kubelet
#注意:此時(shí)kubelet服務(wù)是不正常的,后續(xù)當(dāng)通過(guò)kubeadm引導(dǎo)集群、提供kubelet具體的配置時(shí),kubelet服務(wù)才會(huì)正常。
  • 啟動(dòng)docker

systemctl enable docker && systemctl start docker
  • 更改kublet參數(shù)cggroup驅(qū)動(dòng)

vi /etc/sysconfig/kubelet
改為如下參數(shù)
KUBELET_EXTRA_ARGS=--cgroup-driver=systemd
  • 最新K8S版本因OS內(nèi)核版本過(guò)低失敗,需升級(jí)內(nèi)核

步驟 1:檢查已安裝的內(nèi)核版本:
uname -sr
步驟 2:在 CentOS 7 中升級(jí)內(nèi)核:
#CentOS 7 上啟用 ELRepo 倉(cāng)庫(kù)
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rp
#倉(cāng)庫(kù)啟用后,你可以使用下面的命令列出可用的內(nèi)核相關(guān)包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#安裝最新的主線穩(wěn)定內(nèi)核
yum --enablerepo=elrepo-kernel install kernel-ml
步驟 3:設(shè)置 GRUB 默認(rèn)的內(nèi)核版本:
打開并編輯 /etc/default/grub 并設(shè)置 GRUB_DEFAULT=0。意思是 GRUB 初始化頁(yè)面的第一個(gè)內(nèi)核將作為默認(rèn)內(nèi)核。
GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
重新創(chuàng)建內(nèi)核配置。
# grub2-mkconfig -o /boot/grub2/grub.cfg
重啟使最新內(nèi)核版本生效。
Shutdown –r now
內(nèi)核版本升級(jí)成功。
  • kubeadm初始化

    docker rmi刪除不需要的鏡像:
kubeadm init --ignore-preflight-errors=all ##若是虛擬cpu核數(shù)少于2個(gè)。
kubeadm init --kubernetes-version=v1.23.3  --apiserver-advertise-address=192.168.1.200   --image-repository 
registry.aliyuncs.com/google_containers --service-cidr=10.10.0.0/16 --pod-network-cidr=10.122.0.0/16 --ignore-
preflight-errors=Swap,NumCPU
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 192.168.1.200:6443 --token y83cea.hb60yh33lzdj0zrw
--discovery-token-ca-cert-hash sha256:dbfbc08d087dc6f29db2a7e39407fe2f6d1681152f7eb6e059d10b79ef18acc1
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 查看節(jié)點(diǎn)是否正常

systemctl status kubelet
  • 安裝網(wǎng)絡(luò)插件flannel

kubectl apply -f flannel.yml

3. K8S2、K8S3作為Node節(jié)點(diǎn)安裝

kubeadm join 192.168.1.200:6443 --token h92ghr.eysa3nxmh8t87g84 
--discovery-token-ca-cert-hash 
sha256:636713283be0b8d4f643041bcc27ca9f6b737bb447bbfda3a24b70a9190fed09

4. 驗(yàn)證K8s集群是否正常


END



本文作者:唐田壽

本文來(lái)源:IT那活兒(上海新炬王翦團(tuán)隊(duì))

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/129464.html

相關(guān)文章

  • 如何用 Ansible 部署 Kubernetes 集群到 OpenStack

    摘要:測(cè)試后,使用來(lái)發(fā)布。部署軟件組件,啟動(dòng)虛擬機(jī),將虛擬機(jī)分類到和節(jié)點(diǎn),然后部署密鑰清單。集群自動(dòng)化集群配置由三個(gè)控制。自簽證書簽署的服務(wù)器端證書和它的密鑰文件。 我們之前聊了把OpenStack跑在K8S上,如何基于Kubernetes在TCP云端創(chuàng)建私有云解決方法,運(yùn)用在生產(chǎn)或在OpenStack啟動(dòng)虛擬化。今天換個(gè)姿勢(shì),我們來(lái)看看如何在OpenStack虛擬機(jī)上運(yùn)行Kubernete...

    jiekechoo 評(píng)論0 收藏0
  • 使用Kubespray安裝k8s集群

    摘要:使用安裝集群本文撰寫時(shí),的分支不穩(wěn)定,請(qǐng)使用版本來(lái)安裝,具體來(lái)說(shuō)就是切換到最新的上。確保每個(gè)都安裝了在每個(gè)上開啟,修改,然后重啟??蓞⒖歼@篇文章執(zhí)行找一臺(tái)服務(wù)器,用來(lái)執(zhí)行,的原理是通過(guò)連接到各個(gè)執(zhí)行命令安裝集群。 GitHub: https://github.com/chanjarste... 使用Kubespray安裝k8s集群 本文撰寫時(shí),Kubespray的master分支不穩(wěn)定...

    svtter 評(píng)論0 收藏0
  • 使用Kubespray安裝k8s集群

    摘要:使用安裝集群本文撰寫時(shí),的分支不穩(wěn)定,請(qǐng)使用版本來(lái)安裝,具體來(lái)說(shuō)就是切換到最新的上。確保每個(gè)都安裝了在每個(gè)上開啟,修改,然后重啟??蓞⒖歼@篇文章執(zhí)行找一臺(tái)服務(wù)器,用來(lái)執(zhí)行,的原理是通過(guò)連接到各個(gè)執(zhí)行命令安裝集群。 GitHub: https://github.com/chanjarste... 使用Kubespray安裝k8s集群 本文撰寫時(shí),Kubespray的master分支不穩(wěn)定...

    LdhAndroid 評(píng)論0 收藏0
  • 7個(gè)選擇Kubernetes作為你的Docker編排工具的理由

    摘要:如果你正在尋找一種部署容器到你的任一環(huán)境中的方法,給你至少個(gè)選擇它的理由。允許你運(yùn)行,以及成功完成一定數(shù)量的。通過(guò)驗(yàn)證我們完成的,上述的情況確認(rèn)不會(huì)發(fā)生。每個(gè)就是幾個(gè)小時(shí)的問(wèn)題,而且由擁有者優(yōu)先化。 對(duì)于Docker編制框架來(lái)說(shuō),Kubernetes 是最強(qiáng)的競(jìng)爭(zhēng)者之一,這在版本1.2之后更是如此。如果你正在尋找一種部署 Docker 容器到你的任一環(huán)境中的方法,Kubernetes給...

    zhiwei 評(píng)論0 收藏0
  • 初試k8s,通過(guò)rancher自頂向下的學(xué)習(xí)kubernetes

    摘要:下面我想介紹另一種學(xué)習(xí)思路,自頂向下的學(xué)習(xí)。是通過(guò)虛擬機(jī)創(chuàng)建集群,支持多種虛擬機(jī),我這里用的。對(duì)內(nèi)或?qū)ν獗┞斗?wù)。和的控制器,通過(guò)配置的規(guī)則來(lái)管理。三個(gè)主要的命令行程序用了啟動(dòng)集群。需要在所以節(jié)點(diǎn)上運(yùn)行,處理集群內(nèi)部通訊,類似。 之前就玩過(guò)docker,但是一直不知道怎么把容器運(yùn)用到生產(chǎn)上。構(gòu)建一個(gè)docker鏡像,把他run起來(lái)很簡(jiǎn)單;難的是容器的部署(CICD),容器的網(wǎng)絡(luò),數(shù)據(jù)持...

    marser 評(píng)論0 收藏0
  • 初試k8s,通過(guò)rancher自頂向下的學(xué)習(xí)kubernetes

    摘要:下面我想介紹另一種學(xué)習(xí)思路,自頂向下的學(xué)習(xí)。是通過(guò)虛擬機(jī)創(chuàng)建集群,支持多種虛擬機(jī),我這里用的。對(duì)內(nèi)或?qū)ν獗┞斗?wù)。和的控制器,通過(guò)配置的規(guī)則來(lái)管理。三個(gè)主要的命令行程序用了啟動(dòng)集群。需要在所以節(jié)點(diǎn)上運(yùn)行,處理集群內(nèi)部通訊,類似。 之前就玩過(guò)docker,但是一直不知道怎么把容器運(yùn)用到生產(chǎn)上。構(gòu)建一個(gè)docker鏡像,把他run起來(lái)很簡(jiǎn)單;難的是容器的部署(CICD),容器的網(wǎng)絡(luò),數(shù)據(jù)持...

    tinyq 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<