【k8s】虚拟机k8s搭建教程
发布日期:2021-05-10 01:14:44 浏览次数:23 分类:精选文章

本文共 5542 字,大约阅读时间需要 18 分钟。

Kubernetes ���������������

������������

���������������������Kubernetes���������k8s������������������������������������������������������Kubernetes������������������������������������������������������CentOS 7���������������������������������������������������

������������

  • ���������������������2GB
  • CPU���������������2���

������������

  • ���������������CentOS 7.9.2009���Core���

������������

������IP������

���������������������������������������IP������������������������������������������

ylan@k8smaster:~$ cat > /etc/hosts << EOF
192.168.16.135 k8smaster
192.168.16.137 k8snode
EOF

���������������

������������������������������Kubernetes���������������������������������

ayan@k8smaster:~$ sudo systemctl stop firewalld
ayan@k8smaster:~$ sudo systemctl disable firewalld
ayan@k8smaster:~$ sudo systemctl stop ip6table
ayan@k8smaster:~$ sudo systemctl disable ip6table

SELinux������

���������������������������SELinux���

ayan@k8smaster:~$ sudo sed -i 's/enforcing/disabled/' /etc/selinux/config

Swap������

Kubernetes������������Swap���������������������

ayan@k8smaster:~$ sudo sed -ri 's/.*swap.*/#&/' /etc/fstab

Docker������

###irror��������� ������COS Docker������������

ayan@k8smaster:~$ yum install wget -y
ayan@k8smaster:~$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

Docker������

������Docker���

ayan@k8smaster:~$ yum install docker-ce-19.03.13 -y
ayan@k8smaster:~$ systemctl enable docker.service
ayan@k8smaster:~$ systemctl restart docker.service

���������������

���������������������������

ayan@k8smaster:~$ docker config --add registries=https://mirrors.aliyun.com/
ayan@k8smaster:~$ docker buildx���processors 'registry=main'

������Docker

������Docker���������������

ayan@k8smaster:~$ docker ps

Kubernetes������

������Kubernetes YUM���

������Kubernetes������

ayan@k8smaster:~$ 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

������Kubernetes������

���������������������

ayan@k8smaster:~$ yum install kubelet-1.19.4 kubeadm-1.19.4 kubectl-1.19.4 -y

������������

���������������

ayan@k8smaster:~$ systemctl enable kubelet.service

������������

���������������������

ayan@k8smaster:~$ kubectl --version

���������������

������������������

������������������

ayan@k8smaster:~$ kubeadm init --apiserver-advertise-address=192.168.16.135 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.4 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

������������

���������������������������������������������������

ayan@k8snode:~$ kubeadm join 192.168.16.135:6443 --token a0n3bj.8o7dhcphidtid5fk --discovery-token-ca-cert-hash sha256:00b608e1314662953a52975c2b5c6c2f4440d2abb255434e459935ba373fa4e8

������������������

������Flannel���������������

kind: DaemonSet
apiVersion: apps/v1
metadata:
name: kube-flannel-ds
namespace: kube-system
labels:
tier: node
app: flannel
spec:
selector:
matchLabels:
app: flannel
template:
metadata:
labels:
tier: node
app: flannel
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values: [linux]
hostNetwork: true
priorityClassName: system-node-critical
tolerations:
- operator: Exists
effect: NoSchedule
serviceAccountName: flannel
initContainers:
- name: install-cni
image: quay.io/coreos/flannel:v0.13.0
command: [cp]
args: [-f, /etc/kube-flannel/cni-conf.json, /etc/cni/net.d/10-flannel.conflist]
volumeMounts:
- name: cni
mountPath: /etc/cni/net.d
- name: flannel-cfg
mountPath: /etc/kube-flannel/
containers:
- name: kube-flannel
image: quay.io/coreos/flannel:v0.13.0
command: ["/opt/bin/flanneld"]
args: ["--ip-masq", "--kube-subnet-mgr"]
resources:
limits:
.cpu: 100m
.memory: 50Mi
securityContext:
capabilities: [NET_ADMIN, NET_RAW]
volumeMounts:
- name: run
mountPath: /run/flannel
- name: flannel-cfg
mountPath: /etc/kube-flannel/
- name: cni
mountPath: /etc/cni/net.d

���������������

ayan@k8smaster:~$ kubectl apply -f kube-flannel.yml

������

������Nginx

���������������������

ayan@k8smaster:~$ kubectl create deployment nginx --image=nginx
ayan@k8smaster:~$ kubectl expose deployment nginx --port=80 --type=NodePort

������������������

���������������

ayan@k8smaster:~$ kubectl get service

������������Node������IP���������������������32024���������������������������Nginx���

������������

������������������������������������������������������������Kubernetes������������������������������������������������������������������������������CentOS���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Kubernetes������������������������������������������������������������������������������������

上一篇:我的2021
下一篇:【docker】数据卷持久化permission denied

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月26日 04时03分13秒