2015-07-22 27 views
24

Tôi muốn đặt tên máy chủ trong một thùng chứa đang chạy bên trong Kubernetes, nhưng Kubernetes dường như sẽ ghi đè bất kỳ thứ gì tôi đặt trong thời gian chạy.Đặt tên máy chủ cho một thùng chứa đang chạy trong Kubernetes

Tôi đã thử cả hai thiết lập/etc/hostname trong hình ảnh docker Tôi đang sử dụng Kubernetes và bao gồm echo "host.example.com > /etc/hostname" trong CMD trong Dockerfile.

Dường như có cờ đế chế -h để đặt tên máy chủ. Có cách nào cho tôi để xác định trong bộ điều khiển nhân rộng của tôi rằng nó sẽ bắt đầu container với một lá cờ đặc biệt?

Debian của bộ chứa, nếu nó giúp.

Trả lời

25

câu trả lời trước của tôi là không chính xác, chỉnh sửa với thông tin chính xác

Cờ -h cho docker run sẽ đặt tên máy của container khi bạn tạo ra nó.

Kiểm tra nó ra: docker run -h test.example.com -it ubuntu /bin/bash

Lệnh docker start không có cùng -h hoặc --hostname luận mặc dù. Có vẻ như không thể thay đổi tên máy chủ của vùng chứa hiện tại, chỉ là một tên mới từ một hình ảnh.

Tuy nhiên w/r/t Kubernetes: Có một mở issue on Github về cách Kubernetes xử lý tên máy chủ. Có vẻ như Kubernetes không hiển thị trực tiếp cài đặt tên máy chủ của docker, nhưng bạn có thể ảnh hưởng đến nó bằng tên nhóm

+1

Nếu tôi cố gắng sử dụng lệnh 'hostname', tôi nhận được lỗi' tên máy chủ: bạn phải là người chủ để thay đổi tên máy chủ lưu trữ', mặc dù điều này nằm trong vùng chứa đang chạy như uid 0. Tôi đã thử sửa đổi '/ etc/hostname' và'/etc/hosts' làm trang bạn đã liên kết để gợi ý, nhưng tên máy chủ vẫn là thứ mà nó được đặt bởi Kubernetes. Tôi đáng chú ý là không thể chạy lệnh 'sudo service hostname restart' từ trang, nhưng có một'/etc/init.d/hostname.sh'. Tôi không thể sử dụng 'khởi động lại', như' đối số 'khởi động lại' không được hỗ trợ', và khi tôi sử dụng 'bắt đầu' tôi nhận được lỗi tương tự như với lệnh' hostname'. –

+0

Bạn sẽ cần phải sử dụng sudo ở phía trước của lệnh hostname. Mặc dù container chính nó đang chạy như 'uid: 0' trên cây quá trình của máy chủ, các dịch vụ trong vùng chứa có các vùng người dùng riêng của họ (ít nhất đó là cách tôi nghĩ về nó). 'Sudo hostname host.example.com' có hoạt động không? – edhurtig

+1

Mọi thứ đang chạy dưới uid 0 trong vùng chứa của tôi, vì vậy 'sudo' sẽ không thay đổi gì cả. Bất kể tôi đã cài đặt sudo và chạy 'sudo hostname -b webauth-kube.csh.rit.edu'. Tôi đã nhận được lỗi 'tên máy chủ: bạn phải được root để thay đổi tên máy chủ' một lần nữa. –

Các vấn đề liên quan