成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

K8s集群你會安裝了嗎

IT那活兒 / 932人閱讀
K8s集群你會安裝了嗎

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

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

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


1. 虛擬機準備

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

2. 配置主機名稱

service NetworkManager status
service NetworkManager stop
chkconfig NetworkManager off
hostnamectl set-hostname k8s1
hostnamectl set-hostname k8s2 # 使用這個命令會立即生效且重啟也生效
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而導致流量無法正確路由的問題。
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會影響性能。kubelet禁用swap。
1)系統(tǒng)級臨時關(guān)閉
swapoff -a ,重啟后失效。
2)系統(tǒng)級全部關(guān)閉
vi /etc/fstab,注釋掉swap那一行。
需要重啟,重啟后不失效。

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

  • /proc/sys/net/ipv4/ip_forward這個文件表示是否打開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阿里云源配置及基礎包安裝

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基礎包
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ū)動

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
####默認cgroupfs,k8s官方推薦systemd,否則初始化出現(xiàn)Warning

11. 檢查docker參數(shù)

檢查確認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。
詳細版本依賴請參照該地址:
https://stackoverflow.com/questions/53256739/which-kubernetes-version-is-supported-in-docker-version-18-09

2. K8s集群的安裝方式

1)kubeadm

通過 kubeadm 安裝,需要手工安裝 docker,kubelet,kubeadm 等。

2)kind

通過 kind 安裝,全自動,無手工步驟,快捷簡單,但是節(jié)點是基于容器而不是虛擬機的。

3)minikube

通過 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é)點安裝kubeadm

  • 安裝kubelet 和kubeadm以及kubectl

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet ##啟動并設置開機啟動
systemctl status kubelet
#注意:此時kubelet服務是不正常的,后續(xù)當通過kubeadm引導集群、提供kubelet具體的配置時,kubelet服務才會正常。
  • 啟動docker

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

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

步驟 1:檢查已安裝的內(nèi)核版本:
uname -sr
步驟 2:在 CentOS 7 中升級內(nèi)核:
#CentOS 7 上啟用 ELRepo 倉庫
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
#倉庫啟用后,你可以使用下面的命令列出可用的內(nèi)核相關(guān)包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#安裝最新的主線穩(wěn)定內(nèi)核
yum --enablerepo=elrepo-kernel install kernel-ml
步驟 3:設置 GRUB 默認的內(nèi)核版本:
打開并編輯 /etc/default/grub 并設置 GRUB_DEFAULT=0。意思是 GRUB 初始化頁面的第一個內(nèi)核將作為默認內(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)核版本升級成功。
  • kubeadm初始化

    docker rmi刪除不需要的鏡像:
kubeadm init --ignore-preflight-errors=all ##若是虛擬cpu核數(shù)少于2個。
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é)點是否正常

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

kubectl apply -f flannel.yml

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

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

4. 驗證K8s集群是否正常


END



本文作者:唐田壽

本文來源:IT那活兒(上海新炬王翦團隊)

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

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129464.html

相關(guān)文章

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

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

    jiekechoo 評論0 收藏0
  • 使用Kubespray安裝k8s集群

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

    svtter 評論0 收藏0
  • 使用Kubespray安裝k8s集群

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

    LdhAndroid 評論0 收藏0
  • 7個選擇Kubernetes作為你的Docker編排工具的理由

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

    zhiwei 評論0 收藏0
  • 初試k8s,通過rancher自頂向下的學習kubernetes

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

    marser 評論0 收藏0
  • 初試k8s,通過rancher自頂向下的學習kubernetes

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

    tinyq 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<