您好,登錄后才能下訂單哦!
這篇文章主要介紹了kubernetes怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
1 主備宿主機centos
2 關閉防火墻
systemctl stop firewalld && systemctl disable firewalld
3 安裝etcd 和kubernetes
yum install etcd kubernetes -y
3 修改docker 配置文件
在docker配置文件/etc/sysconfig/docker 中 給OPTIONS 參數后面添加上 --insecure-registry gcr.io,如下:
4 修改kubernetes 配置文件
在配置文件/etc/kubernetes/apiserver 把參數KUBE_ADMISSION_CONTROL 中的ServiceAccount 刪除
5 一次啟動kubectl 服務
systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy
6 下載案例所需鏡像
docker pull docker.io/kubeguide/redis-master
dokcer pull docker.io/kubeguide/guestbook-redis-slave
docker pull docker.io/kubeguide/guestbook-php-frontend
docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
在拉鏡像 registry.access.redhat.com/rhel7/pod-infrastructure:latest 的時候 可能會報錯拉不下來。解決辦法:
yum install -y *rhsm*
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
重新拉registry.access.redhat.com/rhel7/pod-infrastructure:latest ,這個鏡像拉的時候比較慢,請耐心等待。
7 創建redis-master 的RC和service
# 編寫rc的yaml文件 [root@node1 redis]# cat redis-master-controller.yaml apiVersion: v1 kind: ReplicationController metadata: name: redis-master // rc 的名稱 labels: name: redis-master // rc 的標簽 spec: replicas: 1 // rc 創建pod的副本數量 selector: name: redis-master // rc 使用的標簽選擇器 template: // 使用模板創建pod metadata: labels: name: redis-master // 創建的pod 使用的標簽,這里一定要和上面rc 的標簽選擇器一致 spec: containers: - name: master image: kubeguide/redis-master ports: - containerPort: 6379
# 創建rc kubectl create -f ./redis-master-controller.yaml [root@node1 redis]# kubectl get rc|grep master redis-master 1 1 1 5h [root@node1 redis]# kubectl get pods|grep master redis-master-k9k5n 1/1 Running 0 5h
# 編寫service 的yaml 文件 [root@node1 redis]# cat redis-master-service.yaml apiVersion: v1 kind: Service metadata: name: redis-master labels: name: redis-master spec: ports: - port: 6379 # service 使用的虛擬端口 targetPort: 6379 # service 管理的pod 內部的端口 selector: name: redis-master # 這里的標簽選擇器要和上面RC文件里面創建pod 的標簽 一致
# 創建service kubectl create -f ./redis-master-service.yaml [root@node1 redis]# kubectl get services|grep master redis-master 10.254.38.172 <none> 6379/TCP 2h
8 創建redis-slave 的RC和service
[root@node1 redis]# cat redis-slave-controller.yaml apiVersion: v1 kind: ReplicationController metadata: name: redis-slave labels: name: redis-slave spec: replicas: 2 selector: name: redis-slave template: metadata: labels: name: redis-slave spec: containers: - name: slave image: kubeguide/guestbook-redis-slave env: - name: GET_HOSTS_FROM value: env ports: - containerPort: 6379
[root@node1 redis]# kubectl get pods|grep slave redis-slave-dt0vk 1/1 Running 0 2h redis-slave-lf79v 1/1 Running 0 2h
[root@node1 redis]# cat redis-slave-service.yaml apiVersion: v1 kind: Service metadata: name: redis-slave labels: name: redis-slave spec: ports: - port: 6379 targetPort: 6379 selector: name: redis-slave
[root@node1 redis]# kubectl get services|grep slave redis-slave 10.254.194.253 <none> 6379/TCP 2h
9 創建frontend 的RC和service
[root@node1 redis]# cat frontend-controller.yaml apiVersion: v1 kind: ReplicationController metadata: name: frontend labels: name: frontend spec: replicas: 3 selector: name: frontend template: metadata: labels: name: frontend spec: containers: - name: frontend image: kubeguide/guestbook-php-frontend env: - name: GET_HOSTS_FROM value: env ports: - containerPort: 80
[root@node1 redis]# cat frontend-service.yaml apiVersion: v1 kind: Service metadata: name: frontend labels: name: frontend spec: type: NodePort ports: - port: 80 nodePort: 30001 selector: name: frontend # 由于 frontend 服務是需要外部訪問的,所以需要把service的虛擬端口映射到宿主機上,所以添加了 nodePort 端口, # nodePort 范圍在30000 到 32767 都可以,否則報錯。
[root@node1 redis]# kubectl get pods|grep front frontend-069sm 1/1 Running 0 2h frontend-bksm5 1/1 Running 0 2h frontend-q2vpv 1/1 Running 0 2h [root@node1 redis]# kubectl get rc|grep front frontend 3 3 3 2h [root@node1 redis]# kubectl get service|grep front frontend 10.254.27.214 <nodes> 80:30001/TCP 2h
9 實驗
感謝你能夠認真閱讀完這篇文章,希望小編分享的“kubernetes怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。